Gibt es Programme, die helfen können, Dateien und Verzeichnisse zu identifizieren, die zu nicht abgeschlossenen BitTorrent-Downloads gehören? Ich habe ein Chaos angerichtet und bin mir nicht sicher, welche Downloads abgeschlossen sind und welche nicht. Ich könnte natürlich den BT-Client verwenden, wenn ich noch die Torrent-Dateien hätte, aber das habe ich nicht. Ich suche daher nach einer Möglichkeit, zu identifizierenwahrscheinlichunvollendete BT-Downloads – müssen nicht 100 % genau sein.
Mir ist aufgefallen, dass BT-Clients normalerweise leere Dateien erstellen und Dateien mit „Löchern“ (Dateiblöcke mit ausschließlich NULL-Zeichen) hinterlassen. Dies könnte also eine gute Möglichkeit sein, mögliche Kandidaten zu finden. Leider kenne ich keine guten Linux-Befehle zum Auffinden von Dateien mit NULL-Blöcken ...
Antwort1
Wenn Ihr grep dies unterstützt, können Sie eine Prüfung durch grep durchführen.
grep -P '\x00{NNN}' File
Wobei NNN die Anzahl der fortlaufenden Nullbytes ist, die Sie abgleichen möchten. Wäre normalerweise max. USHRT_MAX oder 65535.
-P
ist erforderlich, um\x00
Um Offsets aufzulisten, verwenden Sie:
grep -Pboa '\x00{NNN}' File
Also etwas in die Richtung:
for f in *; do
[ -e "$f" ] || break
if grep -Pq '\x00{1000}' "$f"; then
mv "$f" ../likely_corrupt
fi
done
Andernfalls könnten Sie oder Ähnliches verwenden hexdump
und xxd
für gelten 000...
.
hexdump -ve '/1 "%02X"'
Aber das wäre wahnsinnig langsam.
Schließlich könnte ein sehr kurzes C-Programm dasselbe tun.