AWK - la derniere colonne ne peut pas etre imprimee dans une meme ligne que les autres ?
Salut a tous,
Voici ce qui m'arrive : j'ai fait une extraction par une commande systeme ce qui a pondu un flux que je redirige vers awk. dans ce flux j'ai des lignes de type :
un_texte _id= 4702510 _date= 07 Jul 2009
...
ce qui donne 7 colonnes a traiter.
----------
Maintenant, j'aimerais avoir la date sous le format 2009 Jul 07, donc je veux faire un
print $7,$6,$5
Le resultat :
Jul 07
Je n'arrive pasz a deviner pourquoi ma derniere colonne ($7) n'est pas affichee...
Si je fais juste un print $7, elle est bien affichee, mais des que je mets qquechose derriere, elle n'est plus visible. Ca ne change rien si je l'appelle par $NF a la place de $7.
[edit] OK. je me suis rendu compte que la derniere colonne semble contenir un retour chariot dont il faut que je me debarrasse. une idee pour s'en debarrasser ?
Si vous avez des suggestions, merci d'avance !
OK. avec le code ca donne ca :
>>> ca c'est ce que j'ai et qui marche :
cat patch_list | awk -v valeur="${timestamp1}" '{print valeur,"APPLIED_PATCH","_id=",$1,"_date=",$4,$3,$7}'
APPLIED_PATCH _id= 4702510 _date= 07 Jul 2009
APPLIED_PATCH _id= 4702511 _date= 07 Jul 2009
APPLIED_PATCH _id= 6079591 _date= 13 Oct 2008
APPLIED_PATCH _id= 300500 _date= 05 Sep 2008
>>> ca c'est ce que je veux, et qui ne marche pas : le dernier champs contient un retour a la ligne qui replace la fin de la ligne en debut de ligne.
cat patch_list | awk -v valeur="${timestamp1}" '{print valeur,"APPLIED_PATCH","_id=",$1,"_date=",$7,$4,$3}'
07 JulD_PATCH _id= 4702510 _date= 2009
07 JulD_PATCH _id= 4702511 _date= 2009
13 OctD_PATCH _id= 6079591 _date= 2008
05 SepD_PATCH _id= 300500 _date= 2008
Donc la question devient : comment faire pour eviter le retour a la ligne (certainement venant du dernier champs) ?