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

时间:2014-01-29 10:20:40

标签: regex linux grep recursive-query

我知道我可以使用grep在这样的文件夹中的所有文件中找到一个单词

grep -rn core .

但我当前的目录有很多子目录,我只想搜索当前目录及其所有子目录中的所有xml文件。我怎么能这样做?

我试过这个

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

但它只搜索当前目录中的xml文件。它没有递归地执行。

3 个答案:

答案 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