未完了のビットトレントダウンロードに属するファイルやディレクトリを識別するのに役立つプログラムはありますか? 混乱してしまい、どのダウンロードが完了していてどれがまだ完了していないのかわかりません。トレントファイルがまだ残っていれば、もちろん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
あるいはhexdump
、xxd
などを使用して に一致させることもできます000...
。
hexdump -ve '/1 "%02X"'
しかし、それは非常に遅いでしょう。
最終的に、非常に短い C プログラムで同じことが可能になります。