ファイル内の新しい行を見つけてファイルに書き込みます。

ファイル内の新しい行を見つけてファイルに書き込みます。

ファイル内の新しい行を監視し、特定の条件に合格した場合は、その新しい行を別のファイルに書き込むbashスクリプトを作成したいと思います。ファイルを監視し、条件に行を引き続き渡すには、スクリプトを継続的に実行する必要があります。私は tail -f filename.txtファイルの増加を監視するために使用しましたが、後者の2つの部分では成功しませんでした。大丈夫ですか?

答え1

入力と出力の複雑さに応じて、スクリプトを使用して次のように各行を処理できます。

tail -f 'filename' | xargs -L1 'script'

その後、その行をパラメータとして使用して、各行に対して「スクリプト」が実行されます(スクリプトの「$ @」を介してアクセスされます)。

豊富なコメントは、以下を使用するか、grep以下sedを介して提案します。

tail -f 'filename' | grep -e 'expr1' -e 'expr2' >> 'newfile'

または

tail -f 'filename' | sed 's/Conditions for line./Line that goes to new file./g' >>'newfile'

関連情報