- ベストアンサー
シェルスクリプトの変数について
表題の件について質問させていただきます。 シェルスクリプト内であるプログラムを走らせて No is 2 という標準出力が得られたとします。 そのなかの2という文字を変数につめたいのですがなかなかうまくいきません。 良い方法をご存知の方ご教授よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
おっと, s/[^0-9]//g です. g を忘れてました. というか, これなら no=`echo $str | tr -cd 0-9` でよかったような気がする.
その他の回答 (2)
- sakusaker7
- ベストアンサー率62% (800/1280)
回答No.3
OSがLinuxということはGNU grep が使えるでしょうから、 grep -o '[0-9]\+' でもとれると思います。 参考まで。
質問者
お礼
ご回答ありがとうございます。 そのような方法もあるのですね。 勉強になりました。
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.1
str='No is 2' no=`echo $str|sed -e 's/[^0-9]//'` で数字のところだけ残るはずですが.
質問者
お礼
素早いご回答本当にありがとうございます。 実際は Abzhal Karten = 1 という文字列から1という情報を取り出したいのですが 教えていただいた方法を使うと bzhal Karten = 1 という風になってしまいます。 教えていただいたsedというコマンドを調べてみても、何も問題はないと思うのですが・・・
お礼
本当にありがとうこざいました。 正規表現の便利さを思い知りました。 これから勉強していきたいと思います。