如何在文件夹中查找除特定扩展名之外的任何文件

如何在文件夹中查找除特定扩展名之外的任何文件

我有一个混合了不同扩展名的文件夹(.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此处不进行否定。要将否定应用于多个表达式,请使用括号(由优先顺序确定)。

相关内容