Grep命令跳过注释行

时间:2017-08-08 10:32:31

标签: linux

我试图grep文件中的模式。如果在该文件中注释,我想跳过模式发生。 例如,该模式有2次出现,但输出应该是1次出现。基本上它应该跳过注释行 你能为这个

建议一下吗?

2 个答案:

答案 0 :(得分:1)

剥离shell注释的一种简单常见方法是:

egrep -v '^\s*#' <file>

此处,egrepgrep,其中包含正则表达式模式作为输入。模式&#39; ^ \ s#&#39;描述以&#39;#&#39;开头的行。信件,或任何数量的空格后跟&#39;#&#39;。选项-v反转匹配(不匹配的行通过)。然后,您可以进行进一步的模式搜索。

警告:代码后出现的评论(例如echo 'foo' # bar)不会被剥离。你不能用这种管道解决方案做到这一点。

答案 1 :(得分:0)

您可以在grep中使用-F选项。 -F代表固定字符串。例如,我有一个包含以下数据的文件:

System out of memory
#System out of memory 
System out of memory #1  
1 #System out of memory

现在使用-F

进行grep
 grep -rF "#System out of memory" <path to grep>

输出

./file1:#System out of memory
./file1:1 #System out of memory

这是基本的意识形态。根据您的模式,它必须被修改

相关问题