命令grep多个文件?

时间:2011-03-28 20:14:55

标签: file grep

无需编写shell脚本,我想知道是否有办法根据匹配多个条件列出文件?

我知道我能做到:

ls ./files/ | grep samp

获取文件名中包含“samp”的所有文件的列表...但是,有没有办法说“列出所有匹配”samp“”的文件例子“?

我已经想出了

ls ./files/ | grep samp examp 

不起作用......

4 个答案:

答案 0 :(得分:2)

使用find - 这样做更有力量,例如:

find ./files -name \*samp\* -o -name \*examp\*

答案 1 :(得分:1)

您可以使用|

ls ./files/ | grep -E 'samp|examp'

-E允许使用扩展(现代)正则表达式。如果您的grep版本不支持该行为,则需要转义|

ls ./file/ | grep 'samp\|examp'

答案 2 :(得分:0)

ls ./files/ | grep -esamp -eexamp 

答案 3 :(得分:0)

您可以使用find命令。

find ./files -name \*samp\* -o -name \*examp\*

-o表示“或”。您可以使用-iname代替-name进行不区分大小写的匹配。