Eu quero testar o arquivo /etc/ntp/drift (às vezes é /etc/ntp.drift)
normalmente é um número com 3 casa decimais, usando '.' (ponto). Se esse
numero estiver maior que +-500 (para cada lado) é melhor apagar antes de
iniciar o ntpd.
Também tem um agravante que nunca vi um arquivo com valor errado
(500.000 ou -500.000 supostamente), e não consegui forçar o aparecimento
de um.
Sem grandes complicacoes:
$ A=500.175
$ perl -e "if ( '$A' gt 500 ) { print 'Maior que 500\n'; } else { print 'Menor que
500\n'; }"
Maior que 500
$
Em "shell puro", poderiamos fazer algo como
A=500.175
A=`echo $A | tr -d "."`
if [ $A -gt 500000 ] ; then
Em awk, algo como
$ cat /etc/ntp.drift | awk '{ print ($1 > 500) ? "true" : "false" }'
As teorias sao:
Comparacoes do tipo -gt, -eq, -lt, -ne esperam valores inteiros
Comparacoes em linguagens como perl e awk compreendem numeros reais.
Somente a titulo de curiosidade
$ A=500.175
$ time perl -e "if ( '$A' gt 500 ) { print 'Maior que 500\n'; } else { print 'Menor
que 500\n'; }"
Maior que 500
real 0m0.006s
user 0m0.000s
sys 0m0.010s
$ time echo 500.175 | awk '{ print ($1 > 500) ? "true" : "false" }'
true
real 0m0.006s
user 0m0.000s
sys 0m0.010s
[As partes desta mensagem que não continham texto foram removidas]
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Links do Yahoo! Grupos