查找与给定模式匹配的所有文件并排除给定模式?

时间:2014-02-28 15:08:42

标签: bash shell unix find systems-programming

我想找到目录中与给定模式匹配的所有文件,如A,并且与给定模式不匹配,说B

我尝试过的: 做“ls -I B”给了我所有符合模式B的文件。但是我没有得到任何关于如何做我想做的事情。

1 个答案:

答案 0 :(得分:8)

您可以使用find . -name "pattern",然后为您不想拥有的模式添加否定条件:

find . -name "pattern_A" ! -name "pattern_B"

实施例

让我们查找名称中包含A但不包含B的文件:

$ ls -1
adfadAadsa
adfBasdA
Aksjdflksj
asdfBasdf
Badsf

$ find . -name "*A*" ! -name "*B*"
./Aksjdflksj
./adfadAadsa