完了していない急流ダウンロードでファイルを識別するプログラム?

完了していない急流ダウンロードでファイルを識別するプログラム?

未完了のBitTorrentダウンロードに属するファイルとディレクトリを識別するのに役立つプログラムはありますか?めちゃくちゃでしたが、どのダウンロードが完了し、どのダウンロードが完了していないのかわかりません。急流フ​​ァイルがまだ残っている場合は、明らかに急流クライアントを使用できますが、そうではありません。だから識別する方法を探しています。可能未完了の急流のダウンロード - 100%正確である必要はありません。

btクライアントは空のファイルを生成し、「穴」(NULL文字のみを含むファイルブロック)を持つファイルを残すことが多いので、これが可能な候補を見つけるのに最適な方法かもしれません。残念ながら、私はNULLブロックを持つファイルを見つけるのに役立つLinuxコマンドを知りません。

答え1

grepがサポートしている場合は、grepで確認できます。

grep -P '\x00{NNN}' File

ここで、NNNは一致させる連続0バイトの数です。通常、最大値は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または同様のものを使用してに一致させることができます000...

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

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


最後に、非常に短いCプログラムでも同じことができます。

関連情報