在Ubuntu终端中,我希望grep
所有包含(或不包括)扩展名.foo
和.bar
的文件用于短语'foobar'
。
我已阅读this advice创建了一个带有逻辑的GLOB
,并尝试了几种组合,但似乎都没有效果:
rgrep "foobar" --include "*.foo|*.bar"
rgrep "foobar" --include "*.{foo,bar}"
rgrep "foobar" --exclude "(*.foo|*.bar)"
秘方是什么?
答案 0 :(得分:4)
您可以在此处使用extglob
模式:
shopt -s extglob
grep 'foobar' *.@(foo|bar)
对于--include
使用递归grep ,您必须仅使用 GLOB 模式:
grep -R 'foobar' --include=*.{foo,bar} .