无需编写shell脚本,我想知道是否有办法根据匹配多个条件列出文件?
我知道我能做到:
ls ./files/ | grep samp
获取文件名中包含“samp”的所有文件的列表...但是,有没有办法说“列出所有匹配”samp“或”的文件例子“?
我已经想出了
ls ./files/ | grep samp examp
不起作用......
答案 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
进行不区分大小写的匹配。