Ich habe den folgenden Befehl ausgeführt, um alle EPUBs zu finden und sie in ein Verzeichnis zu verschieben:
find . -iname "*.epub" -exec mv {} /data/EPUB \;
Dadurch wurde eine Superdatei mit allen aneinandergereihten EPUBs erstellt. Gibt es eine Möglichkeit, sie wieder aufzuteilen? Gibt es einen Befehl, um die Superdatei in einen Ordner umzuwandeln?
Antwort1
Wenn Sie das Verzeichnis nicht zuerst erstellt haben, /data/EPUB
haben Sie effektiv jede Datei einzeln in eine Datei mit dem Namen umbenannt /data/EPUB
und dabei jedes Mal die vorherige überschrieben.
Was Sie jetzt haben, ist keine „Superdatei“, sondern /data/EPUB
die letzte EPUB-Datei, die verschoben wurde. Alle anderen EPUB-Dateien sind verloren gegangen (da sie bei nachfolgenden Verschiebungen überschrieben wurden).
Es gibt keine direkte Möglichkeit, sie abzurufen.
Ich schlage vor, das Gerät sofort auszuhängen (wenn möglich) und keine weiteren Schreibvorgänge durchzuführen. Dann verwenden Sie ein Programm wieTestDiskum zu versuchen, die überschriebenen Dateien wiederherzustellen (auch detaillierte AnweisungenHier).
In Zukunft empfehle ich die Verwendung von „ mv -i
, wodurch zum Überschreiben aufgefordert wird und so Fehler wie dieser erkannt werden.
Ich schlage außerdem vor, es sich zur Gewohnheit zu machen, nach Verzeichnisnamen ein Ende zu setzen /
, wodurch solche Fehler ebenfalls abgefangen werden, indem ein Fehler ausgegeben wird, wenn das Verzeichnis nicht existiert (anstatt davon auszugehen, dass es sich um eine Datei handelt), z. B.:
find . -iname "*.epub" -exec mv -i {} /data/EPUB/ \;