
Wenn Sie ein Datenrettungsprogramm wie Recuva verwenden, kann es viele Dateien „wiederherstellen“, von denen viele einfach unbrauchbar sind und zufällige Daten enthalten, aber irgendwie korrekte Dateinamen haben. Gibt es eine Möglichkeit, diese Dateien oder Dateien mit sinnvollen Daten, die repariert werden müssen, automatisch zu erkennen und den Rest der Dateien, die Müll sind, zu löschen?
Antwort1
Unter Linux file
könnte es sich lohnen, sich das Dienstprogramm einmal näher anzuschauen. Es „testet“ jede Datei, die Sie ihm übergeben, mit drei verschiedenen Testarten, anstatt sich auf die Dateinamenerweiterung zu verlassen. ( man file
Eine Erklärung der verschiedenen Tests finden Sie hier.)
Hier ist ein Ansatz zum Testen jeder Datei in einem Verzeichnis und zum Kopieren in einen neuen Ordner, wenn es sich um ein JPEG-Bild handelt.
#!/bin/bash
mkdir useful
for cfile in *; do
fileres=$(file -b --mime-type "${cfile}")
if [[ "${fileres}" == "image/jpeg" ]]; then
cp "${cfile}" "useful/"
fi
done
Führen Sie dieses Skript im Verzeichnis mit all Ihren wiederhergestellten Dateien aus. Es werden nur JPEG-Dateien in das useful
Verzeichnis kopiert. Wenn Sie nach anderen Dateitypen suchen, ersetzen Sie einfach das image/jpeg
in meinem Skript durch den MIME-Typ der Dateien, die Sie interessieren.