Filtrar resultado [RESOLVIDO]

1. Filtrar resultado [RESOLVIDO]

Thiago Marques Dantas
ThiagoMMS

(usa CentOS)

Enviado em 05/06/2012 - 11:08h

Bom dia.

#!/bin/bash
# iso.0.0.0.0.0.2021.50.101.1
comando=`snmpwalk -v 2c -c comunidade $1 $2`
#./check_fila_mail.sh 000.000.000.000 iso.0.0.0.0.0.2021.50.101.1

valor=`echo $comando | sed 's/"$2"//g'`
echo $valor
x=0
for ((i = 0 ; i < "${#valor}" ; i++))
do
if [ ${valor:$i:1} = "=" ]; then
`echo teste`
fi
done


Executando o seguinte comando.

#./check_fila_mail.sh 187.63.118.20 iso.3.6.1.4.1.2021.50.101.1


Obtenho o seguinte resultado.


iso.3.6.1.4.1.2021.50.101.1 = STRING: "153"
./check_fila_mail.sh: line 11: [: =: esperado operador unário
./check_fila_mail.sh: line 12: teste: comando não encontrado
./check_fila_mail.sh: line 11: [: =: esperado operador unário
./check_fila_mail.sh: line 11: [: =: esperado operador unário


Gostaria de filtrar esse resultado e receber somente o valor 153

Como faria?




  


2. Re: Filtrar resultado [RESOLVIDO]

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 05/06/2012 - 12:21h

Vc gostaria que o retorno fosse somente o número 153?
Se for isso, eu inseri um awk do qual retornará somente o ultimo campo (delimitado por espaço) da variável $valor:


#!/bin/bash
# iso.0.0.0.0.0.2021.50.101.1
comando=`snmpwalk -v 2c -c comunidade $1 $2`
#./check_fila_mail.sh 000.000.000.000 iso.0.0.0.0.0.2021.50.101.1

valor=`echo $comando | sed 's/"$2"//g'`
echo $valor | awk -F" " '{print $NF}'




3. Re: Filtrar resultado [RESOLVIDO]

Thiago Marques Dantas
ThiagoMMS

(usa CentOS)

Enviado em 05/06/2012 - 12:54h

Opa obrigado, vou testar aqui :)


4. Re: Filtrar resultado [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 06/06/2012 - 07:28h

Preste atenção...


if [ ${valor:$i:1} == '=' ]
then
echo 'teste'
fi


esse é o teste válido!!!

Boa sorte!








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts