是否有任何程式可以幫助識別屬於未完成的 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 程式也可以做同樣的事情。