如何从文件夹中删除除少数文件夹之外的所有文件/文件夹?

exA*_*res 3 delete rm

假设我的目录结构如下:

application
?
??? config
?   ??? c1.conf
?   ??? c2.conf
?
??? logs
?   ??? l1.txt
?   ??? l2.txt
?
??? src
    ??? static
    ??? s1.py
    ??? s2.py
Run Code Online (Sandbox Code Playgroud)

现在我想删除除configand之外的所有文件夹logs(在这种情况下,只有src)。myPWD目前是appliaction/dir的父级(即我可以application在 my 中看到PWD)。

我应该使用什么命令?(我尝试了rm -rf一些选项但错误地删除了其他文件,所以我想在尝试其他任何事情之前知道正确的答案!)

Jos*_*Jos 7

试试find ./application/ -type d -not -name config -not -name logs

如果返回正确的目录,请运行

find ./application/ -type d -not -name config -not -name logs -exec rm -R {} \;

exec rm -R {} \;末删除,即使它不是空的目录。