awk - redécouper les champs de la ligne courante

Daniel Caillibaud ml.dcailli at free.fr
Thu Nov 9 11:36:27 CET 2006


Bonjour,

Dans un script awk, peut-on modifier FS et obliger awk à redécouper la ligne courante avec ces nouveaux séparateurs ?

C'est pour avoir un 1er traitement avec un séparateur et un 2e traitement avec un autre séparateur.
C'est possible ?

question subsidiaire : on peut virer les dernier champs en diminuant NF, mais peut-on virer les premiers ? (on peut les remplir avec des chaines
vides, mais $0 contient encore ces champs vides séparés par des espaces)

Daniel

PS: tout ça n'est pas important, je continue juste mon apprentissage sed/awk avec des exercices stupides (faut bien qu'une immobilisation serve à
qqchose) ;-)

PS2: la réécriture de $0 marche avec OFS (si on touche à NF avant le print) mais j'y arrive pas avec FS... exemple (merci Christophe Blaess et son
bouquin "langages de script sous linux") :

ls -l|awk '{print$0; OFS="#";print $0}'
et
ls -l|awk '{print$0; OFS="#";NF=NF;print $0}'



More information about the Shell mailing list