プロが教える店舗&オフィスのセキュリティ対策術

sedなどで、特定の文字列内の数値を抽出したい
シェルスクリプト内で、sedなどを使って特定の文字列内の文字列を抽出したいのですが、どうすればいいでしょうか?
たとえば、job 999 at 2016-09-28 00:00のなかから、job ~ at内の「999」を抜き出したいです。

echo job 999 at 2016-09-28 00:00 | sed -e 's///g'...

のようにして実行させたいです。

A 回答 (3件)

たぶん,


sed のコマンドや正規表現を勉強する
のがもっとも適切だと思うよ.
    • good
    • 0
この回答へのお礼

正規表現は、すぐ忘れてしまうので、勉強し直します!

お礼日時:2016/10/05 16:42

一例ですと、「s/^job \([0-9]\+\) at .*$/\1/g」のような感じでしょうか。



私はWindows版のsedユーザーなので、もしかしたらLinux等だと記述の仕方が違うかも知れませんが、その場合は少し修正してみてください。
    • good
    • 0
この回答へのお礼

回答ありがとうございました!参考にさせて頂きます。

お礼日時:2016/10/05 16:42

抜き出しなら sed より perl を使ったほうが簡単です



$ echo "job 999 at 2016-09-28 00:00" | perl -ne 'print "$1\n" if /(?:^|\s)(\d+)(?:$|\s)/'
999
    • good
    • 0
この回答へのお礼

回答ありがとうございました!参考にさせて頂きます。

お礼日時:2016/10/05 16:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!