Ich hatte ein Problem mit einem Backup auf einem Linux-Server, der irgendwie alle Ordner von Dateien eine Ebene nach unten in einen neuen Ordner mit dem gleichen Namen verschoben. Ich möchte alle Dateien an ihren ursprünglichen Speicherort zurückgeben. Viele der Dateien haben Leerzeichen in ihren Namen, um die Dinge zu komplizieren.Verschieben Sie alle Dateien auf einer Ebene um eine Ebene
Original-Verzeichnisstruktur:
backup/folder 1/file 1
backup/folder 1/file 2
backup/folder 1/subfolder/file A
backup/folder 2/file 1
...
Falsche Verzeichnisstruktur:
backup/folder 1/folder 1/file 1
backup/folder 1/folder 1/file 2
backup/folder 1/folder 1/subfolder/file A
backup/folder 2/folder 2/file 1
...
Bitte beachte, dass ich in dem Ordner 1 die Datei nicht in dem Unterordner verschieben möge, aber ich will den Unterordner selbst um eine Ebene nach oben zu gehen.
Ich habe ein paar ähnliche Befehle ausprobiert, basierend auf etwas verwandten Themen hier, aber habe es nicht zum Laufen gebracht, es versucht stattdessen, die Dateien in das aktuelle Verzeichnis zu verschieben. Was mache ich falsch?
finden. -mindepth 3 -maxdepth 3 -exec sh -c 'mv -v {} ..' \;
Sind die beiden ersten Zeilen beide korrekt? Zeile 1 hat nur ein Duplikat, Zeile 2 jedoch zwei. – hidefromkgb
Entschuldigung, ja, als ich meine Post bearbeitet habe, habe ich das vermasselt, jetzt ist es korrekt. Alle Dateien und Unterordner wurden um eine Ebene nach unten verschoben. – rabidfurball