'grep -R string * .txt'即使top dir没有.txt文件也是如此

时间:2011-02-23 17:52:19

标签: grep

我不记得在 grep 中引入了递归搜索' -R '命令行开关的时候,但现在我无法想象没有它的生活。< / p>

唯一的问题是,如果递归中的任何目录与文件名通配符不匹配,grep -R将停止并且将无法报告确实产生正搜索结果的目录和文件。

例如:

  grep -R skeleton_app *.xml

仅报告

AndroidManifest.xml:    <application android:label="@string/skeleton_app">

虽然:

  grep -R skeleton_app *

将全部报告:

AndroidManifest.xml:    <application android:label="@string/skeleton_app">
Binary file bin/classes.dex matches
Binary file bin/com/example/android/skeletonapp/R$string.class matches
gen/com/example/android/skeletonapp/R.java:        public static final int skeleton_app=0x7f050000;
res/values/strings.xml:    <string name="skeleton_app">Understanding Intents</string>

我的问题:有没有办法告诉' grep -R '停止文件名不匹配?

2 个答案:

答案 0 :(得分:13)

尝试:

grep -R --include '*.xml' skeleton_app .

答案 1 :(得分:0)

除了grep。

之外还使用find
$ find ./ -name "*.txp" -exec grep "string" '{}' \; -print