Ich möchte die Verzeichnisstruktur in einem Verzeichnis in ein anderes kopieren, ohne die eigentlichen Dateien zu kopieren. Anstelle der Dateien möchte ich entweder eine leere Datei mit demselben Namen oder einen Symlink zum ursprünglichen Speicherort.
Wie könnte ich das unter OS X machen? Kommandozeilen-Tools (rsync / find / tar / whatever), Shell-Skripte usw. sind akzeptabel, Software, die ich kaufen muss, wahrscheinlich nicht.
macos
file-management
ShreevatsaR
quelle
quelle
lndir
Lösung hat funktioniert. Ich habe dies "akzeptiert", weil lndir mit X kommt und möglicherweise nicht mehr vorhanden ist oder auf einem System nicht vorhanden ist. Wenn Sie lndir haben, ist es am einfachsten, es zu benutzen.Versuchen
lndir
. Von seiner Manpage:quelle
lndir dir1 dir2
, Ich bekommedir1: No such file or directory
.The fromdir argument […] is relative to todir (not the current directory)
. Wenn Sie also sowohl dir1 als auch dir2 im aktuellen Verzeichnis haben, müssen Sie Folgendes eingebenlndir ../dir1 dir2
. Natürlich kann auch der vollständige Pfad für dir1 eingegeben werden. Danke noch einmal.Eine andere Lösung, die für mich funktioniert, ist die Verwendung
rsync
und alle Dateien ausschließen, z.Das
--include \*/
gibt an, dass alle Verzeichnisse kopiert werden sollen, und--exclude \*
Gibt an, dass alle Dateien von der Kopie ausgeschlossen werden sollen.Das Schöne daran ist, dass die neue Verzeichnishierarchie dieselben Attribute, Zeitstempel, Berechtigungen usw. aufweist wie das Original.
quelle
Hier ist eine weitere Variante der
rsync
Methode, die Ordnersymbole und Finder-Beschriftungen beibehält:Hiermit werden keine Datei-Aliase kopiert. Sie können diese also mit der obigen Antwort von whitequark kombinieren.
quelle
Dadurch werden die Verzeichnisse in temp gefunden und das führende / home / bryan / von ihnen entfernt und erstellen Sie die neuen Verzeichnisse
Ich schlage vor, den Code zeilenweise einzugeben (auf diese Weise werden Semikolons (nicht gezeigt) korrekt platziert)
quelle