Verificando uma coluna nula em um arquivo csv

0

Eu tenho um arquivo delimitado com a seguinte sintaxe:

A|B|C|D|E 

Como encontrar a contagem de registros com valor nulo (vazio) na terceira coluna em cada linha?

    
por Minus One 21.12.2016 / 12:12

2 respostas

1

com awk :

awk -F '\|' '$3==""' file.txt
  • -F '\|' define o delimitador de campo como literal |

  • $3=="" verifica se o terceiro campo é nulo, se for o caso, imprime o registro (padrão)

Exemplo:

% cat file.txt
A|B|C|D|E
A|B|C|D|E
A|B||D|E

% awk -F '\|' '$3==""' file.txt
A|B||D|E

Na verdade, você não precisa do escape, pois quando há apenas um caractere é usado como separador de campo, ele é literalmente ordenado; Graças a @ Stéphane Chazelas:

awk -F '|' '$3==""' file.txt
    
por 21.12.2016 / 12:32
0

Um caminho:

awk -F"|" '{if (length($3) == 0) ++count } END { print count }' yourfile
    
por 21.12.2016 / 12:18

Tags