Awk est génial de la manipulation de texte, mais un peu opaque pour moi. Je voudrais exécuter une commande awk qui se résume à quelque chose comme çaAffecter une variable sur chaque ligne dans une commande quick awk
awk '{$x = ($3 > 0 ? 1 : -1); print $1*$x "\t" $2*$x}' file
Je veux attribuer $x
sur chaque ligne, à savoir ne pas utiliser l'option -v
, puis l'utiliser dans ma déclaration d'impression. Malheureusement, après le ;
awk a oublié les valeurs de $1
et $2
. Et mettre la tâche en dehors des accolades ne semble pas fonctionner non plus. Comment cela marche-t-il?
oui, awk est comme C, pas comme Perl –