[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[shell-script] Condicional else if no AWK
From: |
dicipolo_rafael |
Subject: |
[shell-script] Condicional else if no AWK |
Date: |
16 Aug 2016 09:28:07 -0700 |
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.
- [shell-script] Condicional else if no AWK,
dicipolo_rafael <=
Re: [shell-script] Condicional else if no AWK, itamarnet, 2016/08/16