OVH Cloud OVH Cloud

question sur la commande cp

4 réponses
Avatar
support
Bonjour,


Je suis nouveau pour l'utilisation de shell Unix (j'utilise ksh) et ne
trouve pas de réponse à une manipulation qui paraît simple à réaliser.

Mon problème : je souhaite copier tous les fichiers de plusieurs
répertoires à la racine d'un seul et même répertoire.

Mon arborescence :

dossier1/*.*
dossier2/*.*
dossier3/*.*

Je voudrai copier tous les fichiers présents dans ces 3 dossiers pour
les mettre dans un seul dossier cible, de cette façon :
cible/*.*


Malheureusement quand j'utilise " cp * cible/ " rien ne se passe. Et
si j'utilise " cp -r * cible/ " j'ai le résultat suivant :
cible/dossier1/*.*
cible/dossier2/*.*
cible/dossier3/*.*

Alors que dans mon cas je ne veux pas de sous-dossiers dans le
répertoire cible.


Quelle est la solution ?

--
Sylvain Perchaud
Tel : +33 (0) 674 758 551
http://oxygen.sharever.com

4 réponses

Avatar
Croco
Le 31-07-2005, Sylvain Perchaud a écrit :
Bonjour,

Mon arborescence :

dossier1/*.*
dossier2/*.*
dossier3/*.*

Je voudrai copier tous les fichiers présents dans ces 3 dossiers pour
les mettre dans un seul dossier cible, de cette façon :
cible/*.*


Malheureusement quand j'utilise " cp * cible/ " rien ne se passe. Et
si j'utilise " cp -r * cible/ " j'ai le résultat suivant :
cible/dossier1/*.*
cible/dossier2/*.*
cible/dossier3/*.*

Alors que dans mon cas je ne veux pas de sous-dossiers dans le
répertoire cible.


Quelle est la solution ?


Par le plus grand des hasard, un simple "cp */* cible/" ne suffit pas ?
(tant que le nombre total de fichiers est raisonnable, bien sur...)

Croco

Avatar
moinsdespam
Dans <1h0l90t.td79jd13nwjswN%,
Bonjour,
Bonsoir,


Je suis nouveau pour l'utilisation de shell Unix (j'utilise ksh) et ne
trouve pas de réponse à une manipulation qui paraît simple à réaliser.

Mon problème : je souhaite copier tous les fichiers de plusieurs
répertoires à la racine d'un seul et même répertoire.

<couic>


Quelle est la solution ?


cp dossier1/* dossier2/* dossier3/* cible

ou même (mais un peu moins facile pour un débutant) :
cp dossier[1-3]/* cible

En passant, inutile de mettre *.*, * suffit. C'est même mieux, ça copie
aussi les fichiers qui n'ont pas de suffixe (pas de caractère "." dans
le nom en fait, la notion de sufixe à la DOS n'existe pas sous unix)

--
Frédéric
Bleu,e adj. et n. m. Qui est d'une couleur voisine du rouge, mais pas très : un
ciel bleu, des yeux bleus, les flots bleus [..]. Fig. Bouch. : un steak bleu ;
s'emploie pour désigner un steak rouge. (Pierre Desproges : D.S.U.É (et des BN))

Avatar
moinsdespam
Dans <1h0l90t.td79jd13nwjswN%,
Bonjour,
Bonsoir,


Je suis nouveau pour l'utilisation de shell Unix (j'utilise ksh) et ne
trouve pas de réponse à une manipulation qui paraît simple à réaliser.

Mon problème : je souhaite copier tous les fichiers de plusieurs
répertoires à la racine d'un seul et même répertoire.

<couic>


Quelle est la solution ?


cp dossier1/* dossier2/* dossier3/* cible

ou même (mais un peu moins facile pour un débutant) :
cp dossier[1-3]/* cible

En passant, inutile de mettre *.*, * suffit. C'est même mieux, ça copie
aussi les fichiers qui n'ont pas de suffixe (pas de caractère "." dans
le nom en fait, la notion de suffixe à la DOS n'existe pas sous unix)

--
Frédéric
Bleu,e adj. et n. m. Qui est d'une couleur voisine du rouge, mais pas très : un
ciel bleu, des yeux bleus, les flots bleus [..]. Fig. Bouch. : un steak bleu ;
s'emploie pour désigner un steak rouge. (Pierre Desproges : D.S.U.É (et des BN))

Avatar
support
Croco wrote:

Quelle est la solution ?


Par le plus grand des hasard, un simple "cp */* cible/" ne suffit pas ?


C'est exact. Je m'en veux de ne pas l'avoir essayé.

Merci pour la réponse.




--
Sylvain Perchaud
Tel : +33 (0) 674 758 551
http://oxygen.sharever.com