ファイル内の特定のテキストを確認して終了します。

ファイル内の特定のテキストを確認して終了します。

特定の文字列が最終的にログファイルに書き込まれると、きちんと終了するコマンドを作成しようとしています。

以下を試しましたが、決して終了しません。

設定:コマンドをテストするためのファイルを作成します。

echo "Build completed." > build.log

試してみました。動作せず、コマンドは終了しません。

tail -fn+0 build.log | grep -qe "completed"
tail -fn+0 build.log | grep --line-buffered -qe "completed"

これはうまくいきますが複雑なので、まだ慣用的な解決策が見つからなかったと信じています。

while true; do awk '/completed/{f=1; exit} END{exit !f}' && break; sleep 1; done < build.log

macOSベンチュラ13.0、zsh

ベストアンサー1

おすすめ記事