如何在文件夹中的XML文件中grep一个单词

我知道我可以使用grep来查找文件夹中存在的所有文件中的单词

grep -rn core . 

但我目前的目录有许多子目录,我只想search当前目录及其所有子目录中存在的所有XML文件 。 我怎样才能做到这一点 ?

我试过这个

 grep -rn core *.xml // Does not work 

但它仅search当前目录中的xml文件。 这不是recursion的。

Solutions Collecting From Web of "如何在文件夹中的XML文件中grep一个单词"

试试–include选项

 grep -R --include="*.xml" "pattern" /path/to/dir 

参考: 运行递归模式时,Grep仅包含* .txt文件模式

使用find

 find /path/to/dir -name '*.xml' -exec grep -H 'pattern' {} \; 

我经常使用这个:

 grep 'pattern' /path/to/dir/**/*.xml 

编辑:

用zsh