Ich möchte einen Ordner und alle Unterordner duplizieren, aber nicht den Inhalt der Dateien in diesem Verzeichnis.
Nehmen wir an, der Ordner, den ich duplizieren möchte, ist
Folder0
Folder00
File000.x 1GB
File001.x 500MB
Folder01
File010.x 600MB
Ich möchte ein Duplikat erstellen, das wie folgt aussieht:
Folder0
Folder00
File000.x 1KB
File001.x 1KB
Folder01
File010.x 1KB
Was würden Sie mir raten, diesbezüglich vorzugehen?
Alternativ kann ich zuerst ein normales Duplikat des Ordners erstellen und dann den Inhalt jeder Datei bereinigen.
Antwort1
Sie können find verwenden:
find src/ -type d -exec mkdir -p dest/{} \; \
-o -type f -exec touch dest/{} \;
Suche nach Verzeichnissen ( -d
) unter ( src/
) und erstelle ( mkdir -p
) sie unter dest/
oder suche ( -o
) nach Dateien ( -f
) und erstelle ( ) touch
sie unter dest/
.
Dies führt zu:
dest/src/<file-structre>
Sie können mv
dieses Problem kreativ lösen.
Eine andere (Teil-)Lösung kann mit rsync erreicht werden:
rsync -a --filter="-! */" sorce_dir/ target_dir/
Der Trick dabei ist die --filter=RULE
Option, die -
alles ausschließt ( ), was nicht ( !
) ein Verzeichnis ist ( */
)