我正在尝试获取搜索日志文件,并且需要在找到字符串后结束搜索,我正在使用下面的一个
tail -100 | grep "^$( date +'%Y-%m-%d')" /home/sabari/scripts/log/log.log |grep "Migration status code updated to: S" && pkill -P $$ tail
在我手动终止搜索之前,它不会终止搜索,任何人都可以帮助我吗?
[sabari@mypc log]$ tail -100 | grep "^$( date +'%Y-%m-%d')" /home/sabari/scripts/log/log.log |grep "status updated to: S"
2020-05-19 00:38:27,245 INFO statuslog:? - [P=109585:O=0:CT] status updated to: S
^C
答案1
我不确定这是否是您想要的,但以防万一:
tail -f /home/sabari/scripts/log/log.log | grep --line-buffered ^$(date +'%Y-%m-%d') | sed '/status updated to: S/p;q'
一旦找到 sed 命令中的模式,这将结束该命令。
答案2
您的tail
命令不完整
$ tail -100
正在尝试读取您的标准输入,这可能不是您想要的。
尝试类似的东西
$ tail -100 /home/sabari/scripts/log/log.log | grep ...