我必须读取日志直到我收到“ Server Startup
”。BASH Linux退出读取日志直到指定字符串
当我得到字符串“ startup
”,我必须退出tail
命令并继续处理其余的脚本操作。
现在的语法是:提前
cd /opt/path/path/path
LOG_FILE=$(ls -ltr | tail -1 |awk '{print $9}')
tail -f $LOG_FILE
感谢
我必须读取日志直到我收到“ Server Startup
”。BASH Linux退出读取日志直到指定字符串
当我得到字符串“ startup
”,我必须退出tail
命令并继续处理其余的脚本操作。
现在的语法是:提前
cd /opt/path/path/path
LOG_FILE=$(ls -ltr | tail -1 |awk '{print $9}')
tail -f $LOG_FILE
感谢
stdbuf -oL tail -f log.file | stdbuf -iL awk '/startup/ {print "Match found";exit}'
这将检查字符串startup
,当它被发现,它会打印“匹配发现”,然后从日志退出监控。 stdbuf
提供缓存到tail和awk的行。
使用'ls -lrt'在目录中查找最新文件不是一个好主意。你最新的文件名是什么包含空间?例如''latest file'' –