重複の可能性:
文字列から正規表現の結果を抽出し、それを変数に書き込む
これが私のコマンドです:
grep -E '\*[[:space:]]+FIN[[:space:]]+([^)]+?)') myfile
それは出力します:
- フィン (成功)
そして、出力のみを希望します:
成功
どうgrep
やってそれをするように言うことができますか?
重複の可能性:
文字列から正規表現の結果を抽出し、それを変数に書き込む
これが私のコマンドです:
grep -E '\*[[:space:]]+FIN[[:space:]]+([^)]+?)') myfile
それは出力します:
- フィン (成功)
そして、出力のみを希望します:
成功
どうgrep
やってそれをするように言うことができますか?
grep コマンドの出力を awk コマンドにパイプできます。
grep -E '*[[:space:]]+FIN[[:space:]]+([^)]+?)') myfile | awk '{print $2}'
その正確なユースケースに実際に合わせられていないため、grepだけでそれを行う方法がわかりません。あなたはgrepがあるプラットフォームにいるので、あるコマンドで問題の一部を解決し、別のコマンドで別の部分を解決できる場合は、パイプを有利に使用してください。
grep
は単一のキャプチャグループを出力することはできませんが、sed
代わりにそれを行うために使用できます。
sed 's/\*[[:space:]]\+FIN[[:space:]]\+(\([^)]\+\))/\1/g' file
ackを使用する場合は、一致グループと--output
スイッチを使用できます。
ack '\*\s+FIN\((.+?)\)' --output='$1' myfile