簡體   English   中英

Bash - 管道多個 grep 和打印輸出

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM