是否有任何程序可以帮助识别属于未完成的 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 程序也可以做同样的事情。