OS X Leopard Terminal Icon

Leider beherrscht der Finder unter Mac OS X die Funktion “Ordner zusammenführen” (im Fachjargon “merge” gennant) nicht. Der Finder basiert rein auf Copy-, Cut- & Paste (Kopieren, Ausschneiden, Einfügen).

Dennoch gibt es eine bequeme Variante, einen Ordner mit seiner gesamten Struktur (Unterordner & Dateien) zu “mergen” – und zwar über das Terminal.app mit dem Befehl rsync.

“rsync” ist grundsätzlich einfach eine Erweiterung des “cp” bzw. “rcp” Befehls (cp = copy, zu Deutsch “kopieren”).

Beispiel: ich habe zwei Ordner, und möchte den kompletten Inhalt des Ordners “source” in den Zielordner “target” übertragen – dabei sollen aber Dateien von gleicher Grösse und gleichem Zeitstempel nicht ersetzt werden. Dazu verwende ich den folgenden Befehl im Terminal.app:

rsync -arv --exclude=.* /Pfad/zum/Source/Ordner/ /Pfad/zum/Target/Ordner/
  • -arv : Eine zusammengefasste Schreibweise für die einzelnen Optionen -a -r -v
  • -a : Kopiert die Objekte mit ziemlich allen Informationen (Erstellungsdatum, Änderungsdatum, Zugriffsrechte, etc.)
  • -r : Kopiert das Hauptverzeichnis rekursiv (alle Unterordner und deren Dateien werden berücksichtigt)
  • -v : Zeigt im Terminal-Fenster alle Meldungen an
  • --exclude=.* : Dateien, welche mit einem . beginnen (z.B. “.DS_STORE”), sollen NICHT berücksichtigt werden

Ein nettes Feature dieses Befehls ist, dass man auch gewisse Dateien oder ganze Ordner vom Zusammenführungs-Prozess ausklammern kann (wie oben bereits mit “exclude=” angedeutet).

rsync -arv --exclude=.* --exclude=*.jpg --include=test.jpg /Pfad/zum/Source/Ordner/ /Pfad/zum/Target/Ordner/

Mit obigem Beispiel werden nebst Dateien die mit einem . beginnen (.DS_STORE) auch alle Bilddateien mit der Endung .jpg nicht berücksichtigt. Allerdings wird eine spezifische Bilddatei, “test.jpg”, berücksichtigt!

Man kann also bei den Befehlen --include und --exclude mit sogenannten Wildcards-Arbeiten (Zeichen, die stellvertretend für anderen Zahlen/Buchstaben/Zeichen stehen). Dazu gehören auch + und ?.

Eine detaillierte Dokumentation über den Befehl “rsync” erhält man, wenn man im Terminal-Fenster “info rsync” eingibt.

Share:
  • 2
  • 1

2 thoughts on “OS X: Inhalte zweier Ordner zusammenführen (aka “merge”)”

Questions? Suggestions? Let us know with a comment!

This site uses Akismet to reduce spam. Learn how your comment data is processed.