我必須讀取日誌直到我收到「 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'' –