tente
awk '$2 != 0 || $3 !=0 || $4 !=0 || $5 !=0 ' foo.txt
onde
- isso filtrará a linha (grap) com pelo menos um zero diferente.
- por favor, não awk receberá linha, um por um, não há necessidade por enquanto.
- também o arquivo original não será editado.
Editar:
"exatamente o oposto" é um pouco confuso, no entanto, para obter linha com
- todo o último campo sendo 0 use
$2 == 0 && $3 == 0 && ...
(&&
significa lógico e awk,||
é lógico ou) - pelo menos 0 use
$2==0 || $3==0 || ...
se você tiver muitos campos, para ter linha com zero:
awk 'NF>2 {for(i=2;i<=NF;i++) if ($i) {print ; next ;}}' file
onde
-
NF
é o número de campos -
NF>2
assegura que a linha tenha pelo menos 2 campos e que o loop termine.