【问题标题】:Using grep to find and delete files that are filled with zeros使用 grep 查找和删除用零填充的文件
【发布时间】:2018-07-15 05:09:26
【问题描述】:

我尝试从 50% 不可读的 NTFS 硬盘驱动器恢复磁盘映像。而且我想这样做的副作用是许多恢复的文件具有正确的文件名和类型,并且占用与原始文件相同的文件大小,但是它们没有包含任何有用的数据,而是填充了 00 00 00 00 等在十六进制编辑器中。由于这些文件没有任何用处,但仍然占用磁盘空间,有没有办法自动查找和删除它们?

【问题讨论】:

标签: file command-line grep nul


【解决方案1】:

经过一番研究,我想出了

grep --ignore-case -r -L --null [^0] * | xargs -0 rm

【讨论】:

  • 这将删除仅包含 0x30 字节的文件(字符 0 的 ASCII 码)。 grep 的某些变体可能支持 [^\000] 表示法,或者如果你有 Bash,你可以说 $'[^\x00]'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-09
  • 2014-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多