【问题标题】:Stop Tail when a certain string is found in log file在日志文件中找到某个字符串时停止 Tail
【发布时间】:2019-01-16 07:25:38
【问题描述】:

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

目前我正在使用 "tail -f my-file.log | grep -q "Server running at http" 。但这似乎不起作用。tail 命令仍在运行。

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

【问题讨论】:

  • 请查看我的更新答案,它会有所帮助

标签: linux string tail


【解决方案1】:

你可以试试这样的:

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

附:而不是一个不同的文件,它可以是同一个脚本中的一个函数,不用说,在这种情况下你不需要在函数之前说 bash

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

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

【讨论】:

    【解决方案2】:

    您必须指定需要多少匹配项。如您所愿,请先点击

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

    一旦找到第一次命中的“mystring”,程序将自动退出。

    【讨论】:

    • tail 仍在运行.. 它找到了模式并打印出来.. 但是 tail 没有停止..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-16
    • 1970-01-01
    • 1970-01-01
    • 2016-10-09
    • 1970-01-01
    相关资源
    最近更新 更多