Retour a la ligne avec awk.

Résolu/Fermé
econdami Messages postés 243 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 24 mai 2014 - Modifié par econdami le 22/05/2014 à 13:51
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 22 mai 2014 à 16:12
Bonjour,

Je veux faire une sortie avec awk sur plusieurs lignes, alors j'utilise "/n" mais dans ce cas il y a un espace en debut de nouvelle ligne. Je ne trouve pas comment repartir sur une nouvelle ligne directement en debut de ligne. Si quelqu'un a la solution, merci d'avance.

Voila ce que je fais:

awk '{print $1, $2, "HN", $3"\n", $1, $2, "N", $4"\n", $1, $2, "CA", $5"\n", $1, $2, "CB", $6"\n", $1, $2, "CO", $7}' < test >> test_final

Bonne journee


3 réponses

econdami Messages postés 243 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 24 mai 2014
22 mai 2014 à 15:05
J'ai trouve une methode que je ne trouve pas tres elegante mais qui marche !!!:

awk 'BEGIN{OFS="";}{print substr($1,2)," " $2, " HN", " "$3"\n", substr($1,2), " "$2, " N", " "$4"\n", substr($1,2), " "$2, " CA", " "$5"\n", substr($1,2), " "$2, " CB
", " "$6"\n", substr($1,2), " "$2, " CO", " "$7}' < test >> test_final
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
Modifié par dubcek le 22/05/2014 à 15:43
hello
enlever la virgule après \n, virgule == 1 espace
awk '{print $1, $2, "HN", $3"\n" $1, $2, "N", $4"\n" $1, $2, "CA", $5"\n" $1, $2, "CB", $6"\n" $1, $2, "CO", $7}' < test >> test_final 
exemple
$ echo aa bb | awk '{print $1, $2}'
aa bb
$ echo aa bb | awk '{print $1 $2}'
aabb
0
econdami Messages postés 243 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 24 mai 2014
22 mai 2014 à 16:04
Super !!!! merci beaucoup je n'avais pas vu cette subtilite !!!

Merci encore.
Bonne journee !
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
22 mai 2014 à 16:12
la , représente le contenu de la variable OFS, par défaut un espace
0