numan Asked: 2012-05-19 08:00:18 +0800 CST2012-05-19 08:00:18 +0800 CST 2012-05-19 08:00:18 +0800 CST 有没有办法对受限文件类型进行 grep? 772 现在我正在使用这样的东西: find . -name "*.xml" | xargs grep -l "foobar" 它有效,但我想知道 grep 是否内置了此功能? search unix grep 3 个回答 Voted Best Answer Mat 2012-05-19T08:08:03+08:002012-05-19T08:08:03+08:00 POSIX grep 没有这样的选项,但是coreutilsgrep 有。 grep -r --include='*.xml' -l foobar . 应该这样做。 FreeBSD grep(和 OS X)似乎有同样的东西,Solaris 和 AIX 缺少它们 AFAICT。 Jason Floyd 2012-05-20T12:57:55+08:002012-05-20T12:57:55+08:00 你也可以这样做: find . -name "*.xml" -exec grep -l "foobar" {} \; Andy Lester 2012-08-22T10:52:26+08:002012-08-22T10:52:26+08:00 您可以在该命令所在的位置使用ack ack --xml -l foobar 请注意,ack的文件类型意味着它不仅仅考虑 *.xml 文件。将选择任何扩展名为 .xml、.dtd、.xsl、.xslt 或 .ent 的文件以在 --xml 标志下进行搜索。有关类型和扩展的列表,请参阅ack --help-types。
POSIX grep 没有这样的选项,但是
coreutils
grep 有。应该这样做。
FreeBSD
grep
(和 OS X)似乎有同样的东西,Solaris 和 AIX 缺少它们 AFAICT。你也可以这样做:
您可以在该命令所在的位置使用ack
请注意,
ack
的文件类型意味着它不仅仅考虑 *.xml 文件。将选择任何扩展名为 .xml、.dtd、.xsl、.xslt 或 .ent 的文件以在 --xml 标志下进行搜索。有关类型和扩展的列表,请参阅ack --help-types
。