Em uma declaração if
, você tem um else
. Se if
não corresponder, a ramificação else
será executada.
Em uma declaração condicional, ambas as ações são executadas, independentemente da condição ser verdadeira ou falsa.
Uma correção simples:
$ awk '$2!=1 {print $1,"0";next};{print $0}' file
PRO 1
GLN 0
ILE 0
THR 0
E você pode torná-lo mais conciso:
$ awk '$2 != 1 {print $1,"0";next};1' file
PRO 1
GLN 0
ILE 0
THR 0
Quando a condição é verdadeira 1
e não há ação, o comportamento padrão awk
é print
. print
sem argumento imprimirá $0
por padrão.