quarta-feira, 26 de junho de 2013

Validar Quantidade de Campos(Colunas) em Arquivo Delimitado

Script AWK para verificar se um determinado arquivo possui a quantidade de colunas esperada

cat <arquivo> | awk 'BEGIN{FS="<separador>"};NF!=<nro_colunas> {print NF , $0}' 

onde:
<arquivo> - Arquivo que deverá ser validado
<separador> - Separador (delimitador) de campos (colunas) do <arquivo>
<nro_colunas> - Número de campos (colunas) esperado no arquivo

Exemplo;

cat teste.csv |  awk 'BEGIN{FS=";"};NF!=10 {print "linha", NR, "colunas", NF , $0}' 

No exemplo acima, será (ão) direcionadas a saída padrão (tela)  a(s) linha(s) que não tiver(em) 10 colunas, informando a quantidade de colunas encontrada.

Para arquivos posicionais (sem delimitadores), a sintaxe fica:

cat <arquivo> | awk 'BEGIN{FS=""};NF!=<tam_reg> {print NF , $0}' 

onde:
<arquivo> - Arquivo que deverá ser validado
<tam_reg> - Tamanho da Linha

Nenhum comentário:

Postar um comentário