删除多个文件但保留选定的文件

删除多个文件但保留选定的文件

我有一个包含多个文件夹的文件夹,我希望删除所有文件夹但保留一个选定的文件夹,我该如何在 Ubuntu12.04 下使用命令“rm”来做到这一点??

答案1

由于删除文件可能会引发严重问题,因此我建议先将不需要的文件移动到某个文件夹,然后再从磁盘中删除它们。让我们创建文件夹wastebasket并将其放置在~

mkdir ~/wastebasket/

然后,让我们cd进入需要清理的文件夹,将除名为 的文件之外的所有文件移动preciouswastebasket

cd mess/
ls -1 | grep -xv precious | xargs -i mv -i {} ~/wastebasket/

如果一切按预期进行,请删除wastebasket

rm -rf wastebasket

答案2

如果文件位于当前目录中,您可以执行以下操作:

for file in *; do if [ $file != 'NAME_OF_YOUR_FILE' ]; then rm -r $file; fi; done

警告:可能会导致宝贵的数据丢失,尚未对包含特殊字符、空格、换行符、零字符、美国总统姓名的文件进行测试。

相关内容