Você pode atribuir diretamente a campos em awk
com $N
, para N
o número do campo: $9 = "YES"
adicionará um novo campo no final com o valor "YES"
:
awk -F, -v OFS=, '{ if ($5 > 5) { $9 = "YES" } else {$9 = "NO"} };1' data
Quando atribuímos a $9
, criamos o nono campo, que é um além do final para esses dados. Colocar 1
no final força a saída padrão de awk
a ocorrer, o que teria sido suprimido de outra forma.
Para sua amostra, o texto acima fornece:
,2013-11-22,12.9,26.0,26.6,,,NW,YES
que eu acho que é o que você queria.
Se você quiser que seja o último campo, independentemente de quantos campos havia para começar, podemos usar o número de campos NF
, certificando-nos de ir além dele:
awk -v OFS=, -F, '{ if ($5 > 5) {$(NF+1)="YES"} else {$(NF+1)="NO"} };1' data
$
aceita qualquer expressão numérica, portanto, podemos adicionar uma a NF
para obter acesso ao próximo campo disponível.