当我想grep某个目录中的所有html文件时,我执行以下操作
grep --include="*.html" pattern -R /some/path
效果很好。问题是如何grep所有的html,htm,php文件在一些目录?
通过这个Use grep --exclude/--include syntax to not grep through certain files,我似乎可以执行以下操作
grep --include="*.{html,php,htm}" pattern -R /some/path
但不幸的是,它对我不起作用。
仅供参考,我的grep版本是2.5.1。
发布于 2012-05-17 07:52:46
您可以使用多个--include
标志。这对我来说很有效:
grep -r --include=*.html --include=*.php --include=*.htm "pattern" /some/path/
但是,您可以像Deruijter suggested一样执行此操作。这对我来说很有效:
grep -r --include=*.{html,php,htm} "pattern" /some/path/
别忘了,你也可以使用find
和xargs
来做这类事情:
find /some/path/ -name "*.htm*" -or -name "*.php" | xargs grep "pattern"
发布于 2012-05-16 21:10:07
尝试删除双引号
grep --include=*.{html,php,htm} pattern -R /some/path
发布于 2012-05-16 21:08:04
这是不是不起作用?
grep pattern /some/path/*.{html,php,htm}
https://stackoverflow.com/questions/10619160
复制相似问题