特定の文字列が見つかるまでログファイルを追跡して別のファイルに出力するシェルスクリプトはありますか?

特定の文字列が見つかるまでログファイルを追跡して別のファイルに出力するシェルスクリプトはありますか?

文字列が見つかるまで、tailを使用してログファイルの出力を別のファイルに書き込む必要があります。

ログファイルには以下が含まれます。

  I am Rahul.
  I have 5 oranges.
  The end.
  Something something.

「ついに」までは、すべてを別のファイルに書きたいです。

tail -f var/log/output.log 
| grep -m 1 "The end" | tee 
Abc.txt 

ただし、abc.txt ファイルには「End」のみが記録されます。

ベストアンサー1

tail -f file | sed '/The end/q' | tee outfile

Sedは、「終了」が表示されるまですべての行を印刷し、その時点で終了します。

また、最近AskUbuntuで尋ねる

おすすめ記事