在日志文件中找到某个字符串时停止尾

时间:2019-01-16 07:25:39

标签: linux string tail

需要监视日志文件中的特定字符串“服务器在http上运行”。在日志文件中找到该字符串后,我需要停止检查并希望继续其余代码。

当前我当前正在使用“ tail -f my-file.log | grep -q“服务器在http上运行”。但这似乎不起作用。tail命令仍在运行。

tail -f my-file.log | grep -q "Server running at http"

2 个答案:

答案 0 :(得分:1)

您可以尝试:

tail -f my-file.log | awk '/Server running at http/ { print | bash file_with_code}'

P.S。不用说不同的文件,它可以是同一脚本中的函数,不用说,在这种情况下,您无需在函数前说bash

另一个可能的解决方案是:

tail -f my-file.log | egrep -m 1 "Server running at http";echo "found the pattern"

答案 1 :(得分:0)

您必须指定需要多少个匹配项。需要先按

tail -f server.log | grep -m 1 "mystring"

一旦找到第一个匹配项“ mystring”,程序将自动退出。