未完了のトレントダウンロードからファイルを識別するプログラムですか?

未完了のトレントダウンロードからファイルを識別するプログラムですか?

未完了のビットトレントダウンロードに属するファイルやディレクトリを識別するのに役立つプログラムはありますか? 混乱してしまい、どのダウンロードが完了していてどれがまだ完了していないのかわかりません。トレントファイルがまだ残っていれば、もちろんBTクライアントを使用できますが、そうではありません。そのため、識別する方法を探しています。おそらく未完了の BT ダウンロード - 100% 正確である必要はありません。

bt クライアントは、通常、空のファイルを作成し、また「穴」のあるファイル (NULL 文字だけのファイル ブロック) を残すことに気付きました。そのため、これは可能性のある候補を見つけるのに良い方法かもしれません。残念ながら、NULL ブロックのあるファイルを見つけるのに適した Linux コマンドは知りません...

答え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

あるいはhexdumpxxdなどを使用して に一致させることもできます000...

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

しかし、それは非常に遅いでしょう。


最終的に、非常に短い C プログラムで同じことが可能になります。

関連情報