Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
aide sur commande cp (si adaptée)
Envoyé par: vinck

Bonjour,

Je souhaiterais obtenir une aide ou un conseil averti sur une commande qui permettrait de copier l'ensemble des fichiers d'un repertoire portant la même extension vers un autre répertoire en changeant l'extension.

merci à vous

Poste le Wednesday 22 March 2006 13:50:35
Répondre     Citer    
Re: aide sur commande cp (si adaptée)
Envoyé par: elfato

Si tu veux changer l'extention en même temps le plus simple est une boucle for avec renomage....

echo $filename | sed -e "s/.jpg/.jpeg/"

concretement avec le déplacement par un simple mv ça donne :

for i in *.jpg ; do mv $i /chemin/vers/destination/`echo $filename | sed -e "s/.jpg/.jpeg/"` ; done




Poste le Wednesday 22 March 2006 13:55:37
Répondre     Citer    
Re: aide sur commande cp (si adaptée)
Envoyé par: elfato

mv plustot que cp tout simplement parceque cp fait une copie pure mais pas de deplacement
mv sert à deplacer mais aussi a renomer puisque le nom d'un fichier est en réalité un placement de marqueur texte sur une donnée brute.

sed est un des moyens de manipuler les chaines de caractères

Poste le Wednesday 22 March 2006 13:58:54
Répondre     Citer    
Re: aide sur commande cp (si adaptée)
Envoyé par: vinck

je viens de créer dans mon home folder 2 fichiers (1.txt et 2.txt) et quand je fais :

for i in *.txt ; do cp $i dossiercopie/`echo $filename | sed -e "s/.txt/.doc/"` ; done

il me copie dans le dossier dossiercopie les 2 fichiers mais ils gardent leur extension .txt... pas de changement d'extension donc ...

Poste le Wednesday 22 March 2006 15:01:52
Répondre     Citer    
Re: aide sur commande cp (si adaptée)
Envoyé par: elfato

j'ai dit [^]mv[/^] pas [^]cp[/^] cp étant une copie le nom ne peut pas changer

Poste le Wednesday 22 March 2006 15:05:32
Répondre     Citer    
Re: aide sur commande cp (si adaptée)
Envoyé par: elfato

^^D-* bon ok c'est dure de me lire à 14h50 du mat...

Poste le Wednesday 22 March 2006 15:06:09
Répondre     Citer    
Re: aide sur commande cp (si adaptée)
Envoyé par: vinck

bah spareil

for i in *.txt ; do mv $i dossiercopie/`echo $filename | sed -e "s/.txt/.doc/"` ; done

il me les bouge donc ils sont plus dans le home folder mais pas de renommage !

Poste le Wednesday 22 March 2006 15:09:04
Répondre     Citer    
Re: aide sur commande cp (si adaptée)
Envoyé par: elfato

dans le doute j'ai testé en live sur 6 plateformes (shell+OS differents) et ça marche dans tous les cas.

si il y a renomage obligatoirement

testé sous KSH et BASH sur linux openBSD et TRU64unix

voilà la copie d'ecran du système théoriquement le plus incompatible TRU64 avec ksh.
/>cd /tmp
/tmp>touch toto.jpg
/tmp>touch titi.jpg
/tmp>mkdir test
/tmp>for i in *.jpg ; do mv $i test/`echo $i | sed -e "s/.jpg/.jpeg/"` ; done
/tmp>ll *jpg
ls: *jpg not found
/tmp>ll test
total 0
-rw-rw-rw-   1 root     system         0 Mar 22 16:17 titi.jpeg
-rw-rw-rw-   1 root     system         0 Mar 22 16:17 toto.jpeg
/tmp>

comme tu vois ça deplace bien.

si tu veux que copier tu n'as pas le choix tu dois faire en 2 fois
1-copier
2-aller dans le repertoire destination et faire un renomage à la volée avec la boucle for.

Poste le Wednesday 22 March 2006 16:25:08
Répondre     Citer    
Re: aide sur commande cp (si adaptée)
Envoyé par: elfato

je comprend pourquoi ça te le renome pas....

ta variable c'est $i et tu fais echo $filename ....

tu fatigues déjà (?)^^D-*


Poste le Wednesday 22 March 2006 16:30:05
Répondre     Citer    
Re: aide sur commande cp (si adaptée)
Envoyé par: vinck

Nan c bon et je te remercie beaucoup pour ton aide ! @ bientôt ^^D-*

Poste le Wednesday 22 March 2006 17:43:42
Répondre     Citer    
Re: aide sur commande cp (si adaptée)
Envoyé par: elfato

lol :ange:

Poste le Thursday 23 March 2006 10:25:25
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
aide sur commande cp (si adaptée)
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons