Quero excluir linhas ondetodos os elementos diferentes de zerosão menos de um
Meu arquivo é
a 2 0 0 0 9
b 3 0 0 0.7 13
c 0.3 0.5 0 0 0
d 0.4 7.96681779026634e-05 0 0
O resultado esperado é
a 2 0 0 0 9
b 3 0 0 0.7 13
Eu sou iniciante. Eu tentei awk '{for(i=2;i<=NF;i++){if($i+0=0 print $0; else < 1) next}} 1'
editando um código anterior como emesse link, mas estou fazendo algo errado.
Responder1
Tentar:
$ awk '{f=0; for(i=2;i<=NF;i++) if($i+0!=0 && $i+0>=1)f=1} f' file
a 2 0 0 0 9
b 3 0 0 0.7 13
O código usa uma variável f
. Se f
terminar como verdadeiro (diferente de zero), imprimimos a linha.
f=0
Para cada linha, comece definindo
f
como falso (não imprima)for(i=2;i<=NF;i++) if($i+0!=0 && $i+0>=1)f=1
Se algum elemento for diferente de zero e for maior que um, defina
f
como1
(true).f
Se
f
for verdadeiro (diferente de zero), imprima esta linha.