- ベストアンサー
文字列から特定の文字を抜き出す
こんにちは。 シェルスクリプトで文字列から特定の文字を抜き出し、 変数に入れたいのですが、うまくいきません。 申し訳ありませんが、アドバイスをお願いいたします。 文字列 $moji=aaa_bbb_ccc (文字は変動します) $a=aaa $b=bbb $c=ccc と"_"毎に変数に代入したい。 echo $moji | awk -F_ '{print $2}' で文字を標準出力に取り出すことはできるのですが、 そこから変数に代入する方法がいまいち分かりません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Bシェルということで moji=aaa_bbb_ccc a=`echo $moji | awk -F_ '{print $1}'` b=`echo $moji | awk -F_ '{print $2}'` c=`echo $moji | awk -F_ '{print $2}'`
その他の回答 (2)
- xjd
- ベストアンサー率63% (1021/1612)
いろいろなやり方がありますが、B-Shell で作ってみました。 参考にしてください。 $ cat test.sh #!/bin/sh str=aaa_bbb_ccc a=`echo $str | cut -d'_' -f1` b=`echo $str | cut -d'_' -f2` c=`echo $str | cut -d'_' -f3` echo $a echo $b echo $c $ ./test.sh aaa bbb ccc
お礼
ありがとうございます。 よく考えたら変数を前に持ってきて代入すればよい話でしたね^^; 「`」と「'」を間違えておりエラーになっていました。 失礼いたしました。
何シェル? 長い間やってないので、忘れたが set env a | cut -1 3 $moji echo $a これは間違ってるが、これみたいな感じだったとおもう。
お礼
ありがとうございます。 よく考えたら変数を前に持ってきて代入すればよい話でしたね^^; 「`」と「'」を間違えておりエラーになっていました。 失礼いたしました。