クエリに基づいて別のファイルからファイルを作成する

クエリに基づいて別のファイルからファイルを作成する

端末の他のファイルから、特定のクエリの後ろのすべてのコンテンツを含むファイルをどのように作成できますか?

例:

元のファイルの内容: foo, バー, バーズ, qux

検索語: バズ

新しいファイルコンテンツ:バズ、クッス

答え1

GNU grepとあなたの質問と同じ例を使用して、次のことを行うことができます。

$ echo 'foo, bar, baz, qux' | grep -o '\bbaz\b.*'
baz, qux

このオプションは、-ogrepに行の一致部分のみを印刷するように要求し、単語の境界で一致することを確認\bします。baz

答え2

最後に私は使用しましたpcregrepこのために。複数行ファイルから検索語の後のすべての項目を返す最善の方法は、searchTerm、originalFile、newFileを次のように置き換えることです。

pcregrep -M 'searchTerm((.|\n)*)' originalFile > newfile

関連情報