我想找到目录中与给定模式匹配的所有文件,如A,并且与给定模式不匹配,说B
我尝试过的: 做“ls -I B”给了我所有符合模式B的文件。但是我没有得到任何关于如何做我想做的事情。
答案 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