我有一个包含多个文件夹的文件夹,我希望删除所有文件夹但保留一个选定的文件夹,我该如何在 Ubuntu12.04 下使用命令“rm”来做到这一点??
答案1
由于删除文件可能会引发严重问题,因此我建议先将不需要的文件移动到某个文件夹,然后再从磁盘中删除它们。让我们创建文件夹wastebasket
并将其放置在~
:
mkdir ~/wastebasket/
然后,让我们cd
进入需要清理的文件夹,将除名为 的文件之外的所有文件移动precious
到wastebasket
:
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
警告:可能会导致宝贵的数据丢失,尚未对包含特殊字符、空格、换行符、零字符、美国总统姓名的文件进行测试。