我不记得在 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 '不停止文件名不匹配?
答案 0 :(得分:13)
尝试:
grep -R --include '*.xml' skeleton_app .
答案 1 :(得分:0)
除了grep。
之外还使用find
$ find ./ -name "*.txp" -exec grep "string" '{}' \; -print