[英]Bash - pipe multiple grep and print output
我正在編寫一個 shell 腳本,它將 grep 某些單詞的文檔,然后以彩色輸出顯示找到的單詞。
echo $(egrep -wi --color=always 'error|exception' $logFile)
現在我想將此 grep 與另一個結合以排除一些結果為此我想將上面的命令通過管道傳遞給 grep 命令以排除某些模式
grep -vi '<status>error</status>'
由於某種原因,當我嘗試執行命令時失敗
echo $(egrep -wi --color=always 'error|exception' $logFile | $(grep -v '<STATUS>ERROR</STATUS>') )
或者即使我嘗試
echo $(egrep -wi --color=always 'error|exception' $logFile | grep -v '<STATUS>ERROR</STATUS>')
我究竟做錯了什么? 為什么這會失敗?
問題似乎只附加在 egrep、--color=always 和 -i 上。
egrep -wi --color=always 'error|exception' /tmp/log.log | grep -v '<STATUS>ERROR</STATUS>'
不起作用但是
egrep -w --color=always 'error|exception' /tmp/log.log | grep -v '<STATUS>ERROR</STATUS>'
和
egrep -wi --color 'error|exception' /tmp/log.log | grep -v '<STATUS>ERROR</STATUS>'
和
grep -wi --color=always 'error|exception' /tmp/log.log | grep -v '<STATUS>ERROR</STATUS>'
確實......但我不知道為什么你的解決方案不起作用......
在 shell 腳本中:
result=`grep -wi --color=always 'error|exception' /tmp/log.log | grep -v '<STATUS>ERROR</STATUS>'`
echo $result
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.