2012-01-28 91 views
-4

恢復我的損壞的硬盤後,我有很多「壞」文件。使用bash腳本刪除損壞的文件

我需要的腳本在bash這有助於我刪除喜歡

  • 零字節壞文件只包含(00 00 00 00 00 ...)
+0

你可以用'CMP文件名的/ dev/zero'。如果文件由全部空字節組成,「EOF」將包含在stderr的輸出中,如果有任何非空字節,「differ」將包含在輸出到stderr的輸出中(基於GNU'cmp')。 – 2012-01-28 17:08:12

回答

0
find . -type f -size 0c -maxdepth 1 -exec rm {} \; 

這個怎麼樣?

+0

找到。 -type f -size 0 -exec rm {} \; | awk'{print $ 8}' - 刪除零大小的文件,並且沒問題。怎麼樣檢測零字節填充的文件? – vinnitu 2012-01-28 10:42:21

+0

不應該是'rm \ {\}'?或者也許這是一個'zsh'的東西...... – Borealid 2012-01-28 21:14:39

+0

@Borealid它在bash中正常工作。 – 2012-01-28 21:20:55

1

這是更好地使用find

find -maxdepth 1 -type f -empty -print0 | xargs -0 rm -f -v 
+0

除了填充空值的文件不爲空。另請參閱'-exec'和'-delete'。 – 2012-01-28 16:58:22