我正在使用tail来读取更新后的日志文件,并希望在grep返回特定字符串时退出循环。我不确定如何以“编程方式”退出或终止进程
有人有什么好主意吗? 这是一些示例脚本:
tail -f /var/log/{system.log,kernel.log} | grep -i "vendor: 0x22b8"
谢谢:)
答案 0 :(得分:3)
你可以这样做:
tail -f /var/log/{system.log,kernel.log} | awk '
{print}
/vendor: 0x22b8/ {exit}
'
awk命令将在第一次看到你的字符串时退出。由于SIGPIPE机制,tail命令在下次尝试写入管道时将被终止。
答案 1 :(得分:3)
使用grep
最大数量:
tail -f /var/log/{system.log,kernel.log} | grep -i "vendor: 0x22b8" -m 1