我在 Mac 上使用 Mountain Lion。我想使用终端删除目录中所有不以 .psd、.jpg 或 .nef 结尾的文件。我该怎么做?提前致谢!
答案1
如果您使用 Bash,则可以使用扩展的通配符函数:
shopt -s extglob
然后,删除除.nef
、.jpg
或.psd
文件之外的所有内容:
rm !(*.nef|*.jpg|*.psd)
您可以使用ls
而不是 来测试它rm
。这里,!
反转匹配。请注意,这也匹配目录,但如果不将选项传递-r
给 ,则无法删除它们rm
。
另一种方式是find
:
find . -maxdepth 1 -type f \
! \( -name '*.nef' -or -name '*.psd' -or -name '*.jpg' \) -delete
首先通过删除选项来测试此命令-delete
。此处,对!
括号中的表达式取反。