用于识别未完成的 torrent 下载中的文件的程序?

用于识别未完成的 torrent 下载中的文件的程序?

是否有任何程序可以帮助识别属于未完成的 BitTorrent 下载的文件和目录?我搞砸了,我不确定哪些下载已完成,哪些未完成。如果我还有 torrent 文件的话,我显然可以使用 bt 客户端,但我没有。因此我正在寻找识别方法可能未完成的 bt 下载 - 不必 100% 准确。

我注意到 bt 客户端通常会创建空文件,并留下带有“漏洞”的文件(仅包含 NULL 字符的文件块),因此这可能是找到可能的候选者的好方法。遗憾的是,我不知道有什么好的 Linux 命令可以用来查找带有 NULL 块的文件...

答案1

如果你的 grep 支持它;你可以通过 grep 进行检查。

grep -P '\x00{NNN}' File

其中 NNN 是您要匹配的连续零字节数。通常最大值为 USHRT_MAX 或 65535。

-P需要使用\x00

要列出偏移量,请使用:

grep -Pboa '\x00{NNN}' File

所以朝着以下方向发展:

for f in *; do
    [ -e "$f" ] || break
    if grep -Pq '\x00{1000}' "$f"; then 
        mv "$f" ../likely_corrupt
    fi
done

否则,您可以使用hexdump,xxd或类似的内容并 match for 000...

hexdump -ve '/1 "%02X"'

但这会非常慢。


最后,一个非常短的 C 程序也可以做同样的事情。

相关内容