[譯]如何從文件夾中刪除所有文件,僅保留特殊的文件?

原文來源:
https://stackoverflow.com/questions/4325216/remove-all-files-except-some-from-a-directory

使用 sudo rm -r能夠刪除所有的文件,但是我想保留以下幾個文件:

textfile.txt
backup.tar.gz
script.php
database.sql
info.txt

我該怎麼做?

添加不需要刪除的文件名,在 -not -name 後面

find [path] -type f -not -name 'textfile.txt' -not -name 'backup.tar.gz' -delete

如果你不想一一列舉不想刪除的所有文件,你可以使用更爲通用的方法----使用正則表達式

find [path] -type f -not -name 'EXPR' -print0 | xargs -0 rm --

具體如下:
比方說,我想刪除當前文件夾下所有不是txt的文件

find . -type f -not -name '*txt' -print0 | xargs -0 rm --

print0 和 -0 參數是需要的,如果想要刪除掉這些文件佔用的空間的話。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章