处理当前正在写入的文本文件中的实时最后一行

时间:2015-01-20 22:06:53

标签: bash file-io

我有一个文本文件,它实际上是打开的,并且由系统中的进程P1执行日志记录活动。我想知道如何在bash脚本中获取该文件最后一行的实时内容,然后回复"如果该行等于"完成"

,则说出"已完成#34;

2 个答案:

答案 0 :(得分:0)

您可以使用以下内容:

tail -f log.txt | sed -n '/^done$/q' && echo done was seen

<强>解释

答案 1 :(得分:0)

这应该适合你:

tail -f log.txt | grep -q -m 1 done && echo done was seen

-m的{​​{1}}标志表示“N匹配后退出”,grep确保&&语句仅在成功退出{{}}时才会完成{1}}。