ファイル内の新しい行を監視し、特定の条件に合格した場合は、その新しい行を別のファイルに書き込む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'