我有一个混合了不同扩展名的文件夹(.sh .txt .pdb
)。我想找出除以下之外的所有文件pdbqt
我知道我可以使用以下代码在文件夹中找到 pdbqt
find -name "*.pdbqt" -type f
但我希望找出所有与此不匹配的文件。一般来说!
,这会有所帮助。把它放在!
这里哪里?或者是否还有其他优雅的解决方案?
答案1
在!
您想要否定的测试之前:
find ! -name "*.pdbqt" -type f
请注意,许多实现都find
需要指定起始路径(根据 POSIX 的要求):
find . ! -name "*.pdbqt" -type f
否定仅适用于最接近的表达式,因此-type f
此处不进行否定。要将否定应用于多个表达式,请使用括号(由优先顺序确定)。