监视文件中的新行并写入文件

监视文件中的新行并写入文件

我想编写一个 bash 脚本来监视文件中的新行,然后如果它通过某个条件,则可能将该新行写入到不同的文件中。该脚本需要连续运行以监视文件并不断将这些行传送到条件。我一直在用来 tail -f filename.txt监视文件的增长,但在后两部分中我没有成功。这可以吗?

答案1

根据输入到输出的复杂程度,您可以使用一个脚本来处理每一行,如下所示:

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

然后将针对每一行执行“脚本”,并将该行作为其参数(通过脚本中的“$@”访问)。

丰富的评论建议使用grepsed通过以下方式:

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'

相关内容