Criação de bash [RESOLVIDO]

1. Criação de bash [RESOLVIDO]

thiago
lacerdat25

(usa Red Hat)

Enviado em 10/07/2019 - 12:46h

Galera!

Preciso de um help.

Criei um bash que faz uma coleta via SNMP num FORTAPE. Quando faço a coleta pelo IP, tenho o retorno do mesmo em hexadecimal. Para transformar o mesmo em decimal, usei uma função. Para deixar o código mais limpo, usei um laço for, mas na hora de imprimir o retorno sai um octeto abaixo do outro, conforme mostra abaixo:

192
168
0
8

Como faço para trazer um do lado do outro?
192.168.0.8

Segue bash abaixo?
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
hexadecimal=$(snmpwalk -v2c -c "comunit" "IP" .1.3.6.1.4.1.12356.101.14.4.4.1.3.1.16.70.80.52.50.49.69.51.88.49.55.48.48.48.56.48.53 | grep "Hex-STRING")

for i in 4 5 6 7;
do
variavel=`echo $hexadecimal | cut -d" " -f$i`
OC1=`echo "obase=10; ibase=16; $variavel" | bc`
echo $OC1
done
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 10/07/2019 - 17:03h


lacerdat25 escreveu:

Showw!!

Funcionou!

msoliver,
Como que eu faço para tirar o ponto do final??
EX: 192.168.0.8.
EX CORRETO: 192.168.0.8

Use o sed:
sed 's/\.$//' <<< "192.168.0.8."
192.168.0.8
Troca o "." do final, por NADA

VEJA => echo -e "$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')"
Att.: Marcelo Oliver

3. Re: Criação de bash

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 10/07/2019 - 13:40h

lacerdat25 escreveu:

Galera!

Preciso de um help.

Criei um bash que faz uma coleta via SNMP num FORTAPE. Quando faço a coleta pelo IP, tenho o retorno do mesmo em hexadecimal. Para transformar o mesmo em decimal, usei uma função. Para deixar o código mais limpo, usei um laço for, mas na hora de imprimir o retorno sai um octeto abaixo do outro, conforme mostra abaixo:

192
168
0
8

Como faço para trazer um do lado do outro?
192.168.0.8

Segue bash abaixo?
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
hexadecimal=$(snmpwalk -v2c -c "comunit" "IP" .1.3.6.1.4.1.12356.101.14.4.4.1.3.1.16.70.80.52.50.49.69.51.88.49.55.48.48.48.56.48.53 | grep "Hex-STRING")

for i in 4 5 6 7;
do
variavel=`echo $hexadecimal | cut -d" " -f$i`
OC1=`echo "obase=10; ibase=16; $variavel" | bc`
echo $OC1
done
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Boa tarde.
Qual o conteúdo da var "$hexadecimal" ?
Use echo -n " $OC1", para não 'pular' a linha.

Importante => echo -e "$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')"
Att.: Marcelo Oliver


4. CRIAÇÃO DE BASH

thiago
lacerdat25

(usa Red Hat)

Enviado em 10/07/2019 - 16:42h

Showw!!

Funcionou!

msoliver,

Como que eu faço para tirar o ponto do final??

EX: 192.168.0.8.

EX CORRETO: 192.168.0.8






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts