我想在日志文件上运行 tail
并在该日志文件中的字符串匹配后执行一组命令。在执行结束时,tail
命令应该退出。
我的尝试如下所示。似乎在文件中找到的任何字符串都会导致 tail
退出。如果匹配,则将运行命令集并且 tail
将按预期退出。
为什么即使没有匹配项,tail
也会退出?
这是我的命令:
tail -f /logs/logfile.log | awk '/string_to_match/ { system("cp /s1/* /d1") }
{system("cp /s2/* /d2") }
{ system("cp /s3/* /d3") }
{ system("pkill tail") } '
感谢您的帮助。
最佳答案
@MRE:尝试:(我认为我们不需要提及这么多系统调用,尽管我根本没有测试过)。
tail -f /logs/logfile.log |
awk '/string_to_match/ {
system("cp /s1/* /d1; cp /s2/* /d2; cp /s3/* /d3; pkill tail") }'
请尝试一次,然后让我们知道结果如何。
关于linux - 使用 awk 尾部文件并执行一组命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42401499/