veja Como o awk '! a [$ 0] ++' funciona?
basicamente use a=!a
, isso irá negar a
, transformando 0 para 1 e 1 para 0.
você pode testar com
ls | awk '{a=!a; if ( a ) printf "good %s\n",$0 ; else printf "bad\n";}'
Em outras linguagens de programação, geralmente há um tipo bool
ou boolean
. Eu posso criar uma variável de tipo booleano e usar o operador not
para alterná-lo. Eu posso alterná-lo muitas vezes e obter uma série de verdadeiras, falsas, verdadeiras, falsas ...
No awk não existe um tipo booleano. Apenas string vazia e o número 0 são considerados falsos. Todos os outros valores são verdadeiros. Nesse caso, o que devo fazer se eu quiser fazer a operação A na linha 1, 3, 5 ... e a operação B na linha 2, 4, 6 ... A tarefa será muito fácil se tivermos uma variável de tipo booleano e Eu posso simplesmente not
.
veja Como o awk '! a [$ 0] ++' funciona?
basicamente use a=!a
, isso irá negar a
, transformando 0 para 1 e 1 para 0.
você pode testar com
ls | awk '{a=!a; if ( a ) printf "good %s\n",$0 ; else printf "bad\n";}'
Tags awk