用於識別未完成的 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 程式也可以做同樣的事情。

相關內容