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