シェルスクリプトのファイルから特定のパターンで始まる行から文字列を抽出したいと思います。
例::で始まる行の文字列が必要ですhello
。
hi to_RAm
hello to_Hari
hello to_kumar
bye to_lilly
出力は
to_Hari
to_kumar
誰か助けてもらえますか?
シェルスクリプトのファイルから特定のパターンで始まる行から文字列を抽出したいと思います。
例::で始まる行の文字列が必要ですhello
。
hi to_RAm
hello to_Hari
hello to_kumar
bye to_lilly
出力は
to_Hari
to_kumar
誰か助けてもらえますか?
grepを使用する:
grep ^hello file | awk '{print $2}'
^
「hello」で始まる行を一致させることです。これは、2番目の単語を印刷することを前提としています。
最初の単語を除くすべての単語を印刷する場合は、次のようにします。
grep ^hello file | awk '{$1=""; print $0}'
sed
最も適切なツールです:
sed -n 's/^hello //p'
GNU grepのperl互換の正規表現を使用して、後読みを使用できます。
grep -oP '(?<=hello ).*'