AWK Séléction de la derniere colonne

Résolu/Fermé
Poireau007 Messages postés 83 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 17 octobre 2012 - 6 févr. 2009 à 11:57
Poireau007 Messages postés 83 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 17 octobre 2012 - 6 févr. 2009 à 13:04
Bonjour a tous,

Je souhaiterai traiter un fichier de maniere à supprimer la derniere colonne avec AWK.
Le soucis, c'est que le nombre de colonne par ligne n'est jamais le meme !

je suis parti sur :

awk '{print $1,$2,$3,$4,$5,$6,$7,$8,$9}'


pour etre sur de tout afficher, quand il n'y a que 5 colonnes, awk n'affiche pas le reste.
existe t-il un moyen pour dire 'retirer la derniere colonne ??

merci

2 réponses

dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
6 févr. 2009 à 12:31
Hello
le dernier champ est $NF, l'avant dernier $(NF-1), etc

tu peux faire $NF=""; print $0
5
Poireau007 Messages postés 83 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 17 octobre 2012 15
6 févr. 2009 à 13:04
Ah ouais, la vache c'est super puissant !!!!!!

dans le man awk ils disent juste :
NF number of fields in the current record

.... grrrr ca donne pas trop d'infos ça !

merci dubcek , quel talent =)
0