|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2008 Messages : 13 ![]() |
Dear all,
mes données se trouvent en fait dans des repertoires du type: Re.0000000\data.y Re.0000100\data.y Re.0000200\data.y Re.0000300\data.y ... ... Re.0035000\data.y Il me faut les traduire de la facon suivante pour le faire tourner par un autre programme. cp -i Re.0000000\data.y NEWFILE\data1 cp -i Re.0000100\data.y NEWFILE\data2 cp -i Re.0000200\data.y NEWFILE\data3 ..... cp -i Re.0035000\data.y NEWFILE\data351 Soit, 351 fois pour data.y ; data.x et data.z et il y'a d'autre types de data. Quelqu'un(e) pourra t'il (elle) m'aider avec un boucle ( avec awk ou tout autre en linux) pour contourner cette difficulté? Merci davance Jessica |
|
|
00
|
|
|
#2 | ||
![]() ![]() R&D en systemes informatiques bas niveau Unix/Linux Inscription : mai 2004 Messages : 5 502 ![]() |
Bonjour,
Pour compter à ta place une séquence comme cela, il y a seq. Dans ton cas, on va écrire seq -f %03g 0 350 : -f %03g : format de l'affichage avec 3 chiffres, à compléter par des 0 si nécessaire Ensuite, il n'y a plus qu'à construire la boucle : Code :
|
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : septembre 2008 Messages : 13 ![]() |
Je te remercie bcp pour ta reponse,
J'ai essayé de modifier comme suit #!/bin/bash for i in $(seq 0 11) do cp -i Re.000$(($i))000/data.y NEWFILE/data$(($i + 1)) done et cela marche a merveille jusqu'a l'iteration 9. je comprends que pour i=10, il ne trouve plus le folder. Mais c,est pas bien grave car je peux encore le tourner de 10 a 99. c deja bcp de gain de temps. Sauf avis contraire (Si une personne a autre choses a proposer), je pense que ca marche Jessica |
|
|
00
|
|
|
#4 | ||
![]() ![]() R&D en systemes informatiques bas niveau Unix/Linux Inscription : mai 2004 Messages : 5 502 ![]() |
Bonjour,
Pourquoi ne pas utiliser les propriétés de formatage proposées par seq, et vouloir le faire à la main ???? Si c'est parce que tu as des problèmes d'interprétation par le shell, il suffit de bisouiller un peu, et on trouve : Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com