これが私のファイルです。
this is temp1
this is temp2
this is temp3
パターン「temp」を探しているときに、結果が文全体ではなく「temp1、temp2、temp3」としてのみ表示されるようにするgrepコマンドの使用方法。
ありがとう
-o オプションを使用できます
$ grep -o "temp[0-9]"
grep
と組み合わせて使用することをお勧めしますsed
。sed は perl スタイルの正規表現を使用し、より多くのパターン マッチング機能を提供します (まあ、私の意見では)。これにより、必要なものが正確に取得されます。
grep temp yourFileName | sed -e "s/.*(temp[0-9]*).*/\1/"
しかし、temp[number] だけでなく、"temp" と一致させてから、空白に到達するまで一致を続けることができます。これはトリックを行います:
grep temp yourFileName | sed -e "s/.*(temp[^ ]*).*/\1/"
これがコマンド ライン上にある場合は、角かっこもエスケープする必要がある場合があります。
grep temp yourFileName | sed -e "s/.*\(temp[^ ]*\).*/\1/"