我有一个文本文件,它实际上是打开的,并且由系统中的进程P1执行日志记录活动。我想知道如何在bash脚本中获取该文件最后一行的实时内容,然后回复"如果该行等于"完成"
,则说出"已完成#34;答案 0 :(得分:0)
您可以使用以下内容:
tail -f log.txt | sed -n '/^done$/q' && echo done was seen
<强>解释强>
tail -f
will output appended data as the file grows sed -n '/^done$/q'
的行时,done
将退出,结束命令管道。答案 1 :(得分:0)
这应该适合你:
tail -f log.txt | grep -q -m 1 done && echo done was seen
-m
的{{1}}标志表示“N匹配后退出”,grep
确保&&
语句仅在成功退出{{}}时才会完成{1}}。