créer des files vides avec la même structure de directorys que le directory de reference

J'ai un Dir1 avec plusieurs sous-dossiers et des files à l'intérieur. J'ai l'intention de copyr le Dir1 vers Dir2 afin que tous les files dans ce soit juste des files vides mais avec le même nom de file que Dir1.

Ensuite, j'ai l'intention de pousser le Dir2 à github pour expliquer l'exemple de structure de données et les noms de files aux users.

Existe-t-il une command pour copyr les files d'une manière juste pour les files de destination sont vides mais avec le même nom de file?

Ou plus compliqué mais avec une seule passe de système de files (pour encore plus de portabilité ~ devrait être écrit comme $HOME )

 find . \( -type d -exec mkdir -p "~/elsewhere/{}" \; \ -o -type f -exec touch "~/elsewhere/{}" \; \) 

La complexité est ici celle de la logique booleanne (qui peut avoir un certain avantage à apprendre) et la préséance (aussi bonne à savoir) et comment find implémente ces concepts avec un ET implicite entre le -type et l'action subséquente, -o .

Avec les coreutils GNU (par exemple sur Linux non embarqué ou Cygwin), c'est aussi simple que

 cp -a --atsortingbutes-only Dir1 Dir2 
 cd /path/to/oldroot find . -type d -exec mkdir -p \"/path/to/newroot/{}\"\; find . -type f -exec touch \"/path/to/newroot/{}\"\;