對於新手問題,我通常會查找如何執行此操作,但我處於一個可怕的情況,導致大文件丟失,所以我需要小心。僅當文件是.png圖像文件時才使用bash命令刪除目錄中的所有文件
任何想法?最好預先測試一下,謝謝!
對於新手問題,我通常會查找如何執行此操作,但我處於一個可怕的情況,導致大文件丟失,所以我需要小心。僅當文件是.png圖像文件時才使用bash命令刪除目錄中的所有文件
任何想法?最好預先測試一下,謝謝!
我將假定這些文件沒有與文件類型相對應的擴展名(對於PNG文件爲.png
),否則解決方案將很明顯。
如果是這種情況,你可以使用file
的魔法。該命令將顯示當前目錄中的所有PNG文件和子目錄的任何:
$ find -exec bash -c "file -b --mime-type {} | grep -q ^image/png$" \; -print
而這一次將其刪除:
$ find -exec bash -c "file -b --mime-type {} | grep -q ^image/png$" \; -delete
這其實很簡單。
只需進入您的目錄。
和類型
rm *.png
這將自動刪除與PNG擴展名的文件。
至於你擔心丟失數據,只需複製一份(或多份)目錄。備份重要數據總是很好的。你永遠不知道什麼時候可能需要它們!
既然你說它會導致大文件丟失,你可以先找到這些文件,只是爲了確保文件列表是正確的。
find YOUR_DIRECTORY -name '*.png'
後您已確認的文件列表,只需添加-exec
find YOUR_DIRECTORY -name '*.png' -exec rm -f {} +
P.S:這會做的子目錄搜索和查找/刪除它們。
'RM -f * .png' ... – jgb
在'的zsh ':'rm -f **/*。png'遞歸移除文件。 –
您是否考慮過使用一些版本控制系統(比如'git')來處理更嚴重的(非圖像)文件? –