File 对多个文件执行grep命令?

File 对多个文件执行grep命令?,file,grep,File,Grep,不必编写shell脚本,我想知道是否有一种方法可以根据与多个条件的匹配列出文件 我知道我能做到: ls ./files/ | grep samp 要获取文件名中包含“samp”的所有文件的列表。。。但是,有没有办法说,“列出所有与“samp”或“examp”匹配的文件?” 我已经弄明白了 ls ./files/ | grep samp examp 不起作用…使用-它在做这类事情时更强大,例如: ls ./files/ | grep -esamp -eexamp find ./files

不必编写shell脚本,我想知道是否有一种方法可以根据与多个条件的匹配列出文件

我知道我能做到:

ls ./files/ | grep samp
要获取文件名中包含“samp”的所有文件的列表。。。但是,有没有办法说,“列出所有与“samp”或“examp”匹配的文件?”

我已经弄明白了

ls ./files/ | grep samp examp 
不起作用…

使用-它在做这类事情时更强大,例如:

ls ./files/ | grep -esamp -eexamp 
find ./files -name \*samp\* -o -name \*examp\*
使用-它在做这类事情时更强大,例如:

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

您可以使用
|

ls ./files/ | grep -E 'samp|examp'
ls ./file/ | grep 'samp\|examp'
-E
允许使用扩展(现代)正则表达式。如果您的
grep
版本不支持该行为,则需要退出
|

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

您可以使用
|

ls ./files/ | grep -E 'samp|examp'
ls ./file/ | grep 'samp\|examp'
-E
允许使用扩展(现代)正则表达式。如果您的
grep
版本不支持该行为,则需要退出
|

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

您可以使用
find
命令

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

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

您可以使用
查找
命令

find ./files -name \*samp\* -o -name \*examp\*
-o
表示“或”。您可以使用
-iname
而不是
-name
进行不区分大小写的匹配。

位于