Wichtige Information: Alle Texte auf dieser Website wurden aus unterschiedlichen Sprachen übersetzt. Bitte entschuldigen Sie die Qualität – diese kann niedriger sein als üblich. Grüße, Website-Administration. E-mail: info@debookmac.com

Reduzieren Sie ein verschachteltes Verzeichnis und eine Dateihierarchie über die Befehlszeile von Mac OS X

Die Verwendung der Befehlszeile zur Verflachung von Dateien und Verzeichnisstrukturen ist offensichtlich am besten fortgeschrittenen Benutzern vorbehalten, die mit der Verwendung des Terminals im Allgemeinen vertraut sind, wenn dies Sie nicht beschreibt, die manuelle Durchführung über Finder oder die Verwendung der Mac Automator App eine ähnliche Automatisierung von Dateisystemaktivitäten erreichen. Wir konzentrieren uns hier jedoch auf das Reduzieren von Verzeichnissen von der Befehlszeile aus.

Beispiel für das Reduzieren eines verschachtelten Dateiverzeichnisses

Um besser zu verstehen, was wir erreichen möchten, nehmen wir eine Beispiel-imaginäre Verzeichnisstruktur namens TestDirectory, die sich in einem Benutzer-Home-Ordner befindet. In diesem Beispiel enthält TestDirectory Unterordner wie SubDirectory1, SubDirectory2, SubDirectory3 usw., jeweils mit Dateien in diesen jeweiligen Ordnern. Was wir hier machen wollen, ist die Verflachung der Verzeichnisstruktur, indem alle Dateien von SubDirectory (X) in das übergeordnete Verzeichnis „TestDirectory“ verschoben werden. Das anfängliche Verzeichnis und der Inhalt, die rekursiv mit der Datei angezeigt werden, könnten in etwa so aussehen:

$ find ~ / TestDirectory / -Typ f
~ / Testverzeichnis / rooty.jpg
~ / TestDirectory / Beispielverzeichnis1 / beta-tool-preview.jpg
~ / TestDirectory / SampleDirectory1 / alphabetica-tool.jpg
~ / TestDirectory / SampleDirectory2 / test-tools.jpg
~ / Testverzeichnis / Beispielverzeichnis3 / test-png.jpg
~ / TestDirectory / SampleDirectory3 / test1.jpg
~ / TestDirectory / SampleDirectory3 / test2.jpg

Um den Inhalt dieses Verzeichnisses und Unterverzeichnisses wieder in den Ordner TestDirectory zu reduzieren, verwenden Sie die folgende Befehlszeichenfolge:

find TargetDirectory / -mindepth 2 -type f -exec mv -i ‚{}‘ TargetDirectory / ‚;‘

Nachdem der Inhalt des Verzeichnisses verflacht wurde, sollte es wie folgt aussehen:

~ / Testverzeichnis / rooty.jpg
~ / Testverzeichnis / beta-tool-preview.jpg
~ / Testverzeichnis / alphabeta-tool.jpg
~ / Testverzeichnis / test-tools.jpg
~ / Testverzeichnis / test-png.jpg
~ / Testverzeichnis / test1.jpg
~ / Testverzeichnis / test2.jpg

Beachten Sie, dass die Unterverzeichnisse weiterhin existieren, sie werden nur leer sein. Sinn ergeben? Wenn nicht, oder wenn das nicht zeigt, was Sie erreichen möchten, möchten Sie wahrscheinlich kein Verzeichnis reduzieren, vielleicht möchten Sie eine dedizierte Datei zusammenführen oder verwenden, um eine komplexe Kopie an anderer Stelle zu erstellen.

Reduzieren einer Verzeichnisstruktur und einer geschachtelten Dateihierarchie mit der Befehlszeile

Bereit zum Fortfahren? Die Befehlszeichenfolge, mit der wir eine Verzeichnisstruktur reduzieren und alle Dateien aus Unterverzeichnissen in die Basis des Zielverzeichnisses verschieben, lautet wie folgt:

find [VERZEICHNIS] -mindepth 2 -type f -exec mv -i ‚{}‘ [VERZEICHNIS] ‚;‘

Ersetzen Sie [DIRECTORY] durch das Verzeichnis Ihrer Wahl, um es zu reduzieren, wie im obigen Beispiel gezeigt.

Ja, das Verzeichnis wird zweimal in der Befehlszeichenfolge angezeigt. Beim ersten Mal wird das Verzeichnis gesucht, um die Unterverzeichnisse zu reduzieren, beim zweiten Mal wird es als Ziel für die gefundenen Elemente verwendet.

Seien Sie mit dem angegebenen Ziel genau, denn dies ist nicht umkehrbar (na ja, zumindest ohne viel manuelle Arbeit von Ihnen), also tun Sie das nur, wenn Sie absolut sicher sind, dass Sie alle Dateien in den Zielverzeichnissen unterordnen wollen Verzeichnisse zurück zum Zielstammordner.

Wie bereits erwähnt, können Sie dies auch im Finder von OS X tun oder zumindest die Datei- und Ordneränderungen im Finder beobachten. Option + Klick auf die kleinen Pfeile in der Listenansicht öffnet alle Unterverzeichnisse und zeigt die Ordnerhierarchie wie folgt:

Verschachtelte Verzeichnisstruktur zum Abflachen wie im Finder von Mac OS X angezeigt

Nachdem ich mit einer Vielzahl von Bash- und Zsh-Alternativen herumgespielt hatte, wurde dieser praktische Trick von einem Kommentator auf StackExcange verlassen und es wurde am Ende die einfachste und kompatibelste Methode. Wenn Sie eine bessere Möglichkeit kennen, ein verschachteltes Verzeichnis zu glätten, lassen Sie es uns in den Kommentaren wissen!

Like this post? Please share to your friends: