我知道我可以使用grep在这样的文件夹中的所有文件中找到一个单词
grep -rn core .
但我当前的目录有很多子目录,我只想搜索当前目录及其所有子目录中的所有xml文件。我怎么能这样做?
我试过这个
grep -rn core *.xml // Does not work
但它只搜索当前目录中的xml文件。它没有递归地执行。
答案 0 :(得分:33)
尝试使用--include选项
grep -R --include="*.xml" "pattern" /path/to/dir
参考:Grep Include Only *.txt File Pattern When Running Recursive Mode
答案 1 :(得分:3)
使用find
:
find /path/to/dir -name '*.xml' -exec grep -H 'pattern' {} \;
答案 2 :(得分:2)
我经常使用它:
grep 'pattern' /path/to/dir/**/*.xml
使用zsh