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

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

Re: [shell-script] Script com erro [: -eq: unary operator expected


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Script com erro [: -eq: unary operator expected
Date: Tue, 14 Nov 2006 00:46:09 -0200

Isto pode te ajudar?

#!/bin/bash
FILE='/usr/local/snmp/Consultas_snmp/Geral/Tempo_ocioso/relatorio_off.txt'
ER='(^Nome|^Cliente|^Projeto|^IP|^Gerente|desligado)'
grep -E "${ER}" ${FILE} | awk 'BEGIN{
   today = strftime("%j",systime());
   year  = strftime("%Y",systime());
}
/desligado/{
   split($6,x,"/");
   data = strftime("%j",mktime(x[3]" "x[2]" "x[1]" 00 00 00"));
   diff_years = year  - x[3];   # ficou complexo :/
   diff_days  = (365 * diff_years) + (today - data);
   print diff_days;
}
!/desligado/{
    print $0 # sei la, aqui vc pode fazer alguma coisa...
}'

On 11/13/06, weder_feliciano <address@hidden> wrote:
>
>   Estou fazendo um script pra saber quanto tempo cada maquina na rede
> está ligada e para isso faço alguns calculos de acordo com a saida de
> logs das máquinas, porém estou com o erro [: -eq: unary operator
> expected, segue o script abaixo
>
> #!/bin/bash
>
> # Variaveis a serem iniciadas
> DIA_AT=`date +%d`
> MES_AT=`date +%m`
> ANO_AT=2006
>
> cat
> /usr/local/snmp/Consultas_snmp/Geral/Tempo_ocioso/relatorio_off.txt |
> egrep '(^Nome|^Cliente|^Projeto|^IP|^Gerente|desligado)' |\
> while read info
> do
> DIA=`echo $info | grep desligado | awk '{print $6}' | cut -d/ -f1`
> MES=`echo $info | grep desligado | awk '{print $6}' | cut -d/ -f2`
> ANO=`echo $info | grep desligado | awk '{print $6}' | cut -d/ -f3`
>
> if [ $MES -eq $MES_AT ]
> then
> TOTAL_DIAS=$(expr $DIA_AT - $DIA)
> echo $TOTAL_DIAS
> fi
>
> A Saida do comando para executar o laço é:
> Nome: E-BR-000-000A-Desenvolvimento-Solaris9
> Cliente: Interno
> Projeto: Teste Internos
> IP: 172.16.7.151
> Gerente: Robson
> O servidor está desligado desde 27/10/2006
>
> Minha lógica seria pra comparar o mês, se for igual só calcula os
> dias, no caso acrescentari um else para calcular mes e dias depois,
> mas quero fazer funcionar a primeira parte antes.
>
> Weder
>
>  
>



-- 
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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