2015-10-20 62 views
0

我试图删除除了我知道名称的两个文件夹之外的目录中的所有内容。假设这两个文件夹被称为“dont_delete1”和“dont_delete2”。并且在当前目录中存在其他文件夹和文件。删除目录中除了两个特定文件夹以外的所有内容

我已经试过

rm -r !(dont_delete1|dont_delete2) 

但要求我shopt -s extglob其中由于某些限制,我不能使用。

于是我转身

find . \! -name [folder name] -delete 

我已经测试了它在一个单一的文件夹,它的工作原理。但我无法找出一种方法来使用上述命令的多个文件夹。我已经尝试了各种我认为会起作用但不成功的命令。任何帮助将不胜感激!

回答

0

很多不同的解决方案,这里有一个多数民众赞成容易理解:

$ls | grep -v dont_delete1 | grep -v dont_delete2 | xargs rm -rf 
相关问题