我正在编写一个shell脚本,它将为某些单词grep文档,然后在颜色输出中显示找到的单词。
echo $(egrep -wi --color=always 'error|exception' $logFile)
现在我想将这个grep与另一个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>')
我做错了什么?为什么这会失败?
答案 0 :(得分:1)
问题似乎只附加了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