|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 13 ![]() |
Bonjour à tous.
Petit nouveau sur ce forum je me permet de vous expliquer mon problème actuel sur un shell (unix aix 5.3.0.0). Je dispose d'un fichier comportant plusieurs lignes de type: data1:data2:data2:data3:data4:data5 Le but de ce script est de découper certaines de ces zones data afin de les placer dans un nouveau fichier mais dans un ordre différent et avec des espaces: data5 data1 data3 data6 Découper les data avec le "cut" ne me pose pas de soucis. Je bloque pour réussir à mettre sur une même ligne ces data (de la même ligne du fichier précédent). Tout ce que je parviens à faire c'est l'écriture de tous les data5 puis tous les data1 etc etc. Si quelqu'un à une idée. Dernière modification par cersan ; 28/07/2009 à 10h45. Motif: [Résolu] |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 908 ![]() |
Le mieux est que tu nous montres ton script tel qu'il est actuellement.
Le format d'entrée n'est pas tout à fait clair non plus. Il y a deux fois data2 ? systématiquement ? |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 13 ![]() |
Merci pour ta réponse.
je me suis trompé dans la ligne il fallait lire: data1:data2:data3:data4:data5:data6 donc pas de doublons dans la ligne. data2 et data4 disparaissent donc du fichier final. Le script actuel se contente de faire des cut. J'ai fais beaucoup d'essai avec, entre autres, les tableaux mais sans résultats. |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 908 ![]() |
Essaie ça:
Code :
awk -F : '{printf("%s:%s:%s:%s\n",$5,$1,$3,$6);}'
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 13 ![]() |
Un très grand merci jlliagre c'est exactement ce dont j'avais besoin !!!
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com