find . -type d -exec mkdir -p ~/to/{} \;
Tiré de la réponse de @whitequark à cette question :Copier la structure des répertoires sans copier les fichiers, sur Mac OS X
rsync -av -f"+ */" -f"- *" /.../SOURCE /.../DESTINATION
Une autre approche consiste à utiliser le tree
ce qui est assez pratique et navigue dans les arborescences de répertoires en fonction de ses options puissantes. Il existe des options pour le répertoire uniquement, exclure les répertoires vides, exclure les noms avec un modèle, inclure uniquement les noms avec un modèle, etc. Consultez man tree
Avantage :vous pouvez modifier ou revoir la liste, ou si vous faites beaucoup de scripts et créez fréquemment un lot de répertoires vides
Approche :créer une liste de répertoires en utilisant tree
, utilisez cette liste comme entrée d'arguments pour mkdir
tree -dfi --noreport > some_dir_file.txt
-dfi
répertorie uniquement les répertoires, imprime le chemin complet pour chaque nom, fait en sorte que l'arborescence n'imprime pas les lignes d'indentation,
--noreport
Omet l'impression du rapport de fichier et de répertoire à la fin de l'arborescence, juste pour que le fichier de sortie ne contienne pas de peluches
Allez ensuite à la destination où vous voulez les répertoires vides et exécutez
xargs mkdir < some_dir_file.txt