Wie man einen Verzeichnisbaum mit 'find' auf Linux flach macht
Sie können den folgenden Befehl verwenden, um rekursiv alle Dateien aus Unterverzeichnissen in das aktuelle Verzeichnis zu verschieben. Die Informationen der ursprünglichen Verzeichnisstruktur gehen verloren, jedoch werden Dateien mit demselben Namen in verschiedenen Verzeichnissen aufgrund von mv --backup=numbered NICHT überschrieben:
flatten_directory_tree.sh
find . -type f -depth -exec mv {} --backup=numbered $(pwd) -v \;Dieser Befehl bewirkt Folgendes:
find .- startet die Suche im aktuellen Verzeichnis-type f- findet nur Dateien-depth- verarbeitet den Verzeichnisbaum von unten nach oben, sodass Dateien vor ihren übergeordneten Verzeichnissen verschoben werden-exec- führt den folgenden Befehl für jede gefundene Datei ausmv {}- verschiebt die vonfindgefundene Datei--backup=numbered- erstellt ein nummeriertes Backup von Dateien mit demselben Namen$(pwd)- gibt das Zielverzeichnis an (das aktuelle Verzeichnis)-v- aktiviert ausführliche Ausgabe, sodass Sie sehen können, welche Dateien verschoben werden\;- markiert das Ende des-exec-Befehls
Check out similar posts by category:
Linux
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow