Commande pour copie de fichier en boucle sous linux

Commande pour copie de fichier en boucle sous linux - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 28-04-2009 à 16:42:24    

je n'y connais rien aux commandes linux (suse), pourriez-vous me dire comment faire pour créer un batch (bash) linux qui permettrait de copier en boucle des fichiers.  
 
Voici sous windows ce que ça donne :  
 
for /L %%i in (0,1,10) do copy toto.zip toto%%i.zip  
 
resulutats : toto.zip est copié 10 fois dans le même répertoire.  
 
 
merci d'avance

Reply

Marsh Posté le 28-04-2009 à 16:42:24   

Reply

Marsh Posté le 28-04-2009 à 19:54:54    

Code :
  1. for name in {0..9}; do echo $name; done


 
man cp pour plus d'info.
 
edit $i -> $name


Message édité par The matrix le 28-04-2009 à 19:55:57
Reply

Marsh Posté le 28-04-2009 à 20:18:23    


for i in $(seq 1 10)
do
cp toto.zip toto${i}.zip
done


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 29-04-2009 à 03:09:06    

Code :
  1. for i in {0..9}; do cp toto.zip toto${i}.zip ; done


 
on utilise que des builtins bash à la differenre de seq :
 
# type seq
seq is /usr/bin/seq
 
man bash, "brace expansion"

Message cité 1 fois
Message édité par sputnick le 29-04-2009 à 03:09:22
Reply

Marsh Posté le 29-04-2009 à 08:38:48    

sputnick a écrit :

Code :
  1. for i in {0..9}; do cp toto.zip toto${i}.zip ; done


 
on utilise que des builtins bash à la differenre de seq :
 
# type seq
seq is /usr/bin/seq
 
man bash, "brace expansion"


les bashismes c'est mal, c'est pas portable :o


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 29-04-2009 à 09:08:48    

ok merci à tous  
je vais tester ça. :hello:
 
super les gars ça marche, j'ai testé cette commande :
for i in seq{0..9}; do cp toto.zip toto${i}.zip ; done
 
maintenant si je veux ajouter un répertoire de destination ?  
du style je veux copier du répertoire toto vers tata
 
 
edit : c'est bon j'ai trouvé merci
for i in seq{0..9}; do cp -r toto.zip toto${i}.zip /media/repertoire_de_toto ; done
 
avec cette commande, il ne crée qu'une copie. Une idée svp ?!


Message édité par yupachups le 29-04-2009 à 15:20:22
Reply

Marsh Posté le 29-04-2009 à 19:58:52    

seq{0..9} oO ???!!! Jesus Marie Joseph...
 

Code :
  1. sh -c 'printf "%s\n" seq{0..9}'
  2. seq0
  3. seq1
  4. seq2
  5. seq3
  6. seq4
  7. seq5
  8. seq6
  9. seq7
  10. seq8
  11. seq9


Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed