[英]How to grep two separate logs file? , currently output to only one log file
我有以下命令到 output shell 腳本到文件RestartLog.log ,然后到 grep 只有“錯誤”到另一個文件RestartLog_log 。
sudo ./DailyRestart.sh |sudo tee /RestartLog.log |grep ERROR | sudo tee /RestartLog_ERROR.log
我有兩個問題
問題1:我需要為“警告”和“錯誤”添加另一個文件“RestartLog_WARNING.log” ,是否可以
問題 2:當前錯誤輸出僅打印到控制台,我需要完整的 output 到控制台而不是錯誤 output
請幫助我解決這兩個問題
只有 STDOUT 通過您的管道。 如果您還需要 STDERR,則需要先將其重定向到 STDOUT:
sudo ./DailyRestart.sh 2>&1 | ...
Awk 可能是一個更好的選擇:
./DailyRestart.sh | awk '/Warning/ { print $0 >> "RestartLog_WARNING.log" } /ERROR/ { print $0 >> "RestartLog_ERROR.log" }1'
搜索包含“警告”的行並將該行打印到文件 RestartLog_WARNING.log。 搜索包含“ERROR”的行並將該行打印到文件 RestartLog_ERROR.log。 使用 1 將所有行打印到屏幕上。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.