我想删除具有给定名称的目录中的所有文件,但具有给定扩展名的文件除外.即我们有一个目录:
foo.txt foo.exe foo.jpg foo.png foo.something foo.somethingelse bar.jpg bar.exe
Run Code Online (Sandbox Code Playgroud)
我想摆脱 foo.txt foo.jpg foo.png foo.something foo.somethingelse
但至关重要的是,我不想摆脱 foo.exe
这样做有一个简单的衬垫吗?
谢谢
您可以!在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.
Run Code Online (Sandbox Code Playgroud)
这应该删除foo.*当前目录中匹配的文件,但不要foo.exe单独留下.