我想删除具有给定名称的目录中的所有文件,但具有给定扩展名的文件除外。即我们有一个目录:
foo.txt foo.exe foo.jpg foo.png foo.something foo.somethingelse bar.jpg bar.exe
我想摆脱foo.txt foo.jpg foo.png foo.something foo.somethingelse
但至关重要的是,我不想摆脱foo.exe
是否有一个简单的衬垫可以做到这一点?
谢谢
答案 0 :(得分:7)
您可以在!
命令中使用find
来排除内容,例如:
find . -maxdepth 1 -type f -name "foo.*" ! -name foo.exe -exec rm '{}' \;
----------- ------- ------------- --------------- ----------------
in this dir files named foo.* but not foo.exe ...destroy them.
这应删除当前目录中与foo.*
匹配的文件,但只留下foo.exe
。