在执行grep时排除一些文件

时间:2015-06-21 20:42:15

标签: linux command-line grep

我想搜索一个表达式" abcd"在目录的所有文件中,但在我的搜索中排除某种类型的文件

grep -rn 'abcd' *

但结果不应包含在扩展名为.js和.h的文件中找到的表达式。我该怎么做?

2 个答案:

答案 0 :(得分:2)

使用--exclude选项

grep 'your string here' -r --exclude=\*.{js,h}

答案 1 :(得分:1)

因此,此时我通常建议使用ack,类似grep,但有很多内置功能,如文件类型选择。

但是使用grep和一些shell魔法,这可以起作用:

find -not -iname '*.h' -not -iname '*.js' -print0 | xargs -0 grep -rn 'abcd'