AWK - Validar quantidade de elementos em colunas de um arquivo CSV [RESOLVIDO]

1. AWK - Validar quantidade de elementos em colunas de um arquivo CSV [RESOLVIDO]

Alex Sandro Batista Pereira
alexbatistasp

(usa Red Hat)

Enviado em 14/12/2016 - 17:34h

Olá boa tarde.
Estou tentando validar quantidade de elementos enviados em colunas de um arquivo CSV.
Ex :
Na linha 1 e coluna 12, 13 e 14 do arquivo eu recebo STRINGS separadas pelo delimitador "," , preciso validar se a quantidade de elementos nessas colunas é igual ao valor da coluna 10, se essa verificação for falsa estou fazendo um output para um diretório. Segue trecho do meu código :


awk -F";" '{if(1 != 2){split($12,a,",");split($13,b,",");split($14,c,","); \
soma=($10+length(a)+length(b)+length(c))/4;if(soma!=$10){print $0}}}' Arquivo.CSV > \
DIRETORIO.../error/Error_${datenow}_$Arquivo.CSV

Desde já agradeço a ajuda!




  


2. Re: AWK - Validar quantidade de elementos em colunas de um arquivo CSV

Marcos Paulo Ferreira
DaeMonio

(usa Slackware)

Enviado em 16/12/2016 - 19:14h

Segundo a lógica de seu exemplo:


awk -F';' '((split($1,a,",") + split($12,a,",") + split($13,a,",") + split($14,a,","))/4) != $10 { print $0 }'


O split já retorna o tamanho do vetor "a", logo basta pegar cada split das colunas de interesse e somar os valores retornados, depois compare se a média é igual a coluna $10.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts