从 grep 输出中过滤掉注释行

从 grep 输出中过滤掉注释行

如果我不想在grep搜索结果中出现注释行该怎么办?即,每当我搜索文本文件时,我得到的结果都包含注释行。

假设我正在搜索 hello:

;if(hello) 
hello world

在这种情况下,我不想要;if(hello) 结果。

答案1

使用-v正则表达式过滤掉第一步的输出:

bash-4.3$ cat test.txt
;if(hello) 
hello world
;if(hello) 
another hello world

bash-4.3$ grep 'hello' test.txt | grep -v ';.*hello'
hello world
another hello world

相关内容