removido
(usa Nenhuma)
Enviado em 04/02/2015 - 14:57h
rpbiaggio escreveu:
Opa, obrigado pela ajuda mas eu consegui ontem da forma abaixo:
Fix=$(grep -i ".FIX." $MascaraVozTV1 | cut -d "|" -f3);
if [ "$Fix" -gt 50000 ]; then
echo "Limite maximo de CDRs para codigo FIX foi excedido - NOTOK $Fix"
exit
elif [ "$Fix" -lt 10 ]; then
echo "Limite minimo de CDRs para codigo FIX abaixo do esperado - NOTOK $Fix"
exit
else
echo "Limite maximo e minimo de CDRs para codigo FIX dentro do esperado - OK $Fix"
exit
fi
exit
Agora surgiu outra dúvida hahaha. Vou ter dois arquivos por dia. Preciso pensar como farei isso.
Obrigado pela ajuda,
No script acima, a variável $Fix armazena todos os códigos "FIX" e isto sempre causará erros de sintaxe caso possua mais de um código.
A descrição que você passou não confere com o script. Os limites para o "código FIX" estão mesclados no limites do "código MOV". Recomendo fortemente você pensar melhor o seu problema, até aqui, as informações que você passou foram muito imprecisas, incompletas e algumas são muito confusas, o problema em si parece algo bem simples, contudo, na prática, só seria possível avaliar se as informações fossem completas e concisas.
Talvez ajude, então segue uma sugestão de script com as velhas definições (adapte a sua necessidade):
rules[${#rules[*]}]='FIX TCO.FIX. 10 50000'
rules[${#rules[*]}]='MOV TCO.MOV. 5 1000'
while IFS=$'|\n' read -a f; do
[[ ${#f[*]} -lt 3 ]] && continue
unset msg
for (( i = 0; i <= ${#rules[*]}; i++ )); do
IFS=$' \n' read cod str min max <<< ${rules[$i]}
if [[ ${f[1]:0:8} == $str ]]; then
if [[ ${f[2]} -lt $min ]]; then
msg=( 'minimo' $cod ${f[2]} )
break
fi
if [[ ${f[2]} -gt $max ]]; then
msg=( 'maximo' $cod ${f[2]} )
break
fi
fi
done
if [[ ${#msg[*]} -ne 0 ]]; then
printf 'Limite %s de CDRs para o codigo %s foi excedido - NOTOK %s\n' ${msg[@]}
else
printf 'Limites maximo e minimo para CDRs para o codigo %s dentro do esperado %s\n' $cod ${f[2]}
fi
done < $MascaraVozT
Obs.: Nesse estágio já é bom começar a pensar em segmentar o script em funções por questões de legibilidade e manutenibilidade.