我想搜索一个表达式" abcd"在目录的所有文件中,但在我的搜索中排除某种类型的文件
像
grep -rn 'abcd' *
但结果不应包含在扩展名为.js和.h的文件中找到的表达式。我该怎么做?
答案 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'