首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在fsarchiver备份后查找带有零填充的文件

在fsarchiver备份后查找带有零填充的文件
EN

Stack Overflow用户
提问于 2013-12-31 19:33:12
回答 1查看 105关注 0票数 0

我的SSD快死了,所以我尝试用/home备份fsarchiver,但是在这个过程中,我遇到了一些错误,比如:file has been truncated: padding with zeros.

现在我试图定位这些文件,所以我在搜索bash/python/perl.脚本允许我搜索最后n个字节‘填充为零’的非空文件。

谢谢您的帮助,请原谅我的英语。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-01 04:06:18

此脚本获取命令行上的文件列表,并报告最后十个字节填充为零的文件的名称:

代码语言:javascript
复制
#!/bin/sh
for fname in "$@"
do
    if [ -s "$fname" -a "$(tail -c10 "$fname"  | tr -d '\000' | wc -c)" -eq 0 ]
    then
        echo Truncated file: $fname
    fi
done  

首先检查文件是否为非空([ -s "$fname" ]),然后取文件(tail -c10 "$fname")的最后10个字节,然后删除任何字节(tr -d '\000'),然后计算剩余的字节数(wc -c)。如果最后十个字节都是零,那么就没有剩下的字节了,并且文件被报告为截断。

如果要在测试中使用10字节以外的其他内容,请调整tail选项以适应。

如果您测试某个目录或文件系统中的所有文件,find可以提供帮助。如果上面的脚本位于可执行文件名padded.sh中,那么运行:

代码语言:javascript
复制
find path/to/suspect/files -size +10c -exec padded.sh {} +
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20862409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档