shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Condicional else if no AWK


From: Tiago Peczenyj
Subject: Re: [shell-script] Condicional else if no AWK
Date: Tue, 16 Aug 2016 18:32:51 +0200

me parece que o else na parte destacada é desnecessaria.

2016-08-16 18:28 GMT+02:00 address@hidden [shell-script] <address@hidden>:
 

Pessoal bom dia,


A um tempo atrás estava com problema de performance num script e o Itamar me ajudou a melhorar usando o AWK. porém agora evoluindo com o scritp estou com um novo problema, seguinte leio um arquivo linha por linha e a partir dele monto um arquivo sql que irei inserir no banco. porém além de algumas verificações de campo obrigatório agora preciso que em alguns campos que veio vazio seja exibido o valor NULL. 


Exemplo: Se o campo 5 ou 6 estiver vazio respectivamente eles irão receber o valor NULL


awk -F "|" -v Id_Curso=$ID_CURSO '
NF==10 {
 if (length($1)==0) { print "CAMPO1 - OBRIGATORIO" >> "error.log" }
 else if (length($2)==0) { print "CAMPO2 - OBRIGATORIO" >> "error.log" }
 else if (length($3)==0) { print "CAMPO3 - OBRIGATORIO" >> "error.log" }
else if (length($5)==0)  {$5="NULL"}
else if (length($6)==0)  {$6="NULL"}
else if (length($7)==0)  {$7="NULL"}
else if (length($8)==0)  {$8="NULL"}
 print $1, $2, $3, $5, $6,$7,$8 >> "arquivo.sql"
}
NF !=10 { print "NUMERO DE COLUNA FORA DO PADRAO - " Id_Curso >> "error.log" }

' arquivo

Quando executo script desta forma ele consegue capturar verificar o campo5 se tiver vazio e coloca o NULL porém para o campo 6 em diante ele continua vazio. 

Alguém sabe me dizer oque ta de errado? já procurei na net porém ainda não achei uma solução. 






--
Tiago B. Peczenyj

http://about.me/peczenyj

reply via email to

[Prev in Thread] Current Thread [Next in Thread]