Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Creation d'une arborescence factice

3 réponses
Avatar
doug713705
Bonjour à toutes et tous,

Désolé par avance si ce n'est pas le bon groupe et merci de rediriger si
nécessaire.

J'ai le problème suivant :

J'ai une arborescence ~/foo qui contient plusieurs répertoires (bar_1,
bar_2, bar_3) qui contiennent chacun plusieurs fichiers.

- ~/foo
-./bar_1
-./foo_bar_1
-./foo_bar_2
- ...
-./bar_2
-./bar_foo_1
-./bar_foo_2
- ...

J'aimerai reproduire cette arborescence à l'identique dans un autre
répertoire mais sans copie de fichier, seuls les noms des fichiers
m'interressent.

Un simple "touch" pourrait me suffire mais touch ne me permet pas de créer
un fichier directement si l'arborescence n'existe pas.

ex.
touch: cannot touch `./bar_1/foo_bar_1': No such file or directory
car ./bar_1/ n'existe pas.

Ce qu'il me faut serait un "touch -R" ou "touch -p" ou quelque chose dans ce
goût là.

Pour mettre un peu de piquant dans la sauce, la copie de l'arborescence
n'est pas locale (mais les deux postes ont une liaison ssh)

Sachant que l'arborescence en question comprend quelques milliers de
répertoires et sous-répertoires, les créer à la main n'est pas une
option ;-)

J'ai bien pensé à quelques scripts qui pourraient faire ça, mais la mise en
place et l'exécution risquent d'être assez longues.

Merci d'orienter ma recherche et de vos conseils avisés

--
[ Plus ou moins avec une chance de peut-être ]
- Pour me contacter, enlever nospam (2X) -

3 réponses

Avatar
ALain Montfranc
doug713705 a écrit
Bonjour à toutes et tous,

Désolé par avance si ce n'est pas le bon groupe et merci de rediriger si
nécessaire.

J'ai le problème suivant :

J'ai une arborescence ~/foo qui contient plusieurs répertoires (bar_1,


Solution crade :

cp -R OLD NEW
find NEW -type f -exec rm {} ;


Autre solution

mkdir NEW
(cd OLD; find . -type d -print0 ) | (cd NEW; xargs -0 mkdir -p)

Avatar
ALain Montfranc
(supersedes )

doug713705 a écrit
Bonjour à toutes et tous,

Désolé par avance si ce n'est pas le bon groupe et merci de rediriger si
nécessaire.

J'ai le problème suivant :

J'ai une arborescence ~/foo qui contient plusieurs répertoires (bar_1,




mkdir NEW
(cd OLD; find . -type d -print0 ) | (cd NEW; xargs -0 mkdir -p)
(cd OLD; find . -type f -print0 ) | (cd NEW; xargs -0 touch)

Avatar
doug713705
Le dimanche 19 août 2007 10:57, ALain Montfranc s'est exprimé de la sorte
sur fr.comp.os.unix :

(cd OLD; find . -type d -print0 ) | (cd NEW; xargs -0 mkdir -p)
(cd OLD; find . -type f -print0 ) | (cd NEW; xargs -0 touch)


Merci beucoup, ça dépasse de loin mes connaissances mais cela m'évite
d'horribles contorsions scriptographiées ;-)

--
[ Plus ou moins avec une chance de peut-être ]
- Pour me contacter, enlever nospam (2X) -