我有一个包含以下内容的目录:
x.pdf
y.zip
z.mp3
a.pdf
我想删除除x.pdf
和以外的所有文件a.pdf
。我如何在终端上执行此操作?没有子目录,因此不需要任何递归。
cd <the directory you want>
find . -type f ! -iname "*.pdf" -delete
.pdf
名(以文件名结尾的文件除外)例如,如果temp
您的主文件夹中有一个目录:
cd ~/temp
然后删除文件:
find . -type f ! -iname "*.pdf" -delete
这将删除除以外的所有文件xyz.pdf
。
您可以将这两个命令结合使用:
find ~/temp -type f ! -iname "*.pdf" -delete
.
是当前目录。!
表示将除.pdf
末尾带有的文件外的所有文件。-type f
仅选择文件,而不选择目录。-delete
意味着将其删除。
!
必须来之前-name
。只-name
将仅包含.pdf
,而-iname
将同时包含.pdf
和.PDF
要仅在当前目录而不是子目录中删除,请添加-maxdepth 1
:
find . -maxdepth 1 -type f ! -iname "*.pdf" -delete
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句