Problema com script com grep, sed e cut [RESOLVIDO]

1. Problema com script com grep, sed e cut [RESOLVIDO]

César Luiz Gonçalves de Oliveira
cesar_v8

(usa Debian)

Enviado em 24/06/2014 - 11:58h

E ai galera beleza?

Precisava da ajuda de você com um script que começou a dar problemas.
É o seguinte, ele deve pegar o meu ip que acessa a internet, através do site www.meuip.co e gravar em uma arquivo txt. Porém ele não está fazendo isso, ele pega apenas a mensagem "Meu IP é:"
O que pode ser alterado no script para corrigir o problema?

Segue o script:

#!/bin/bash
# meuip.sh
# Pega o ip do site http://meuip.co
#export http_proxy=""

URL="http://meuip.co"

# O script procura pela palavra "Meu IP é"
# e mostra o que tem logo em seguida apagando o resto

IP=`lynx -source "$URL" | #baixa source da pagina
grep 'Meu IP &eacute' | #procura pela palavra meu ip é
sed 's/<[^>]*>//g' | #remove tags html
cut -d \; -f 2 #define que os elementos sao separados por ; e pega o que tem apos
`
echo $IP >> /home/user/IP.txt #imprime IP no arquivo



  


2. Re: Problema com script com grep, sed e cut [RESOLVIDO]

Phillipe Smith
smithux

(usa Arch Linux)

Enviado em 24/06/2014 - 13:45h

Meu brother, se você debugar o código verá que o seu IP só aparece na segunda linha, não na mesma linha que o "Meu IP é:", etendeu?

No caso seu script ficaria da seguinte forma:


#!/bin/bash
# meuip.sh
# Pega o ip do site http://meuip.co

# Configuração do endereço do proxy, caso necessário
# export http_proxy=""

URL="http://meuip.co"

# O script procura pela palavra "Meu IP é"
# e mostra o que tem logo em seguida apagando o resto

IP=$(lynx -source "$URL" | #baixa source da pagina
grep -A 1 'Meu IP ' | #procura pela palavra Meu IP ...
sed -e 's/<[^>]*>//g' -e '1d' #remove tags html e exibe somente a linha com o IP encontrado
)
echo $IP > /home/$USER/IP.txt #imprime IP no arquivo



3. Re: Problema com script com grep, sed e cut [RESOLVIDO]

César Luiz Gonçalves de Oliveira
cesar_v8

(usa Debian)

Enviado em 24/06/2014 - 14:56h

smithux escreveu:

Meu brother, se você debugar o código verá que o seu IP só aparece na segunda linha, não na mesma linha que o "Meu IP é:", etendeu?

No caso seu script ficaria da seguinte forma:


#!/bin/bash
# meuip.sh
# Pega o ip do site http://meuip.co

# Configuração do endereço do proxy, caso necessário
# export http_proxy=""

URL="http://meuip.co"

# O script procura pela palavra "Meu IP é"
# e mostra o que tem logo em seguida apagando o resto

IP=$(lynx -source "$URL" | #baixa source da pagina
grep -A 1 'Meu IP ' | #procura pela palavra Meu IP ...
sed -e 's/<[^>]*>//g' -e '1d' #remove tags html e exibe somente a linha com o IP encontrado
)
echo $IP > /home/$USER/IP.txt #imprime IP no arquivo



Valeu cara funcionou como queria!


4. Re: Problema com script com grep, sed e cut [RESOLVIDO]

César Luiz Gonçalves de Oliveira
cesar_v8

(usa Debian)

Enviado em 24/06/2014 - 14:58h

Consegui também quase com o script que coloquei no inicio, com pequenas alterações, pois usei outro site.

Segue script:

#!/bin/bash
# meuip.sh
# Pega o ip do site http://www.meuip.com.br/
#export http_proxy=""

URL="http://www.meuip.com.br/"

# O script procura pela palavra "meu ip é"
# e mostra o que tem logo em seguida apagando o resto

IP=`lynx -source "$URL" | #baixa source da pagina
grep 'Meu ip - Qual &eacute; o Meu IP' | #procura pela palavra meu ip é
sed 's/<[^>]*>//g' | #remove tags html
cut -d \? -f 2 #define que os elementos sao separados por ? e pega o que tem apos
`
echo $IP >> /home/user/IP.txt #imprime IP no arquivo


5. Re: Problema com script com grep, sed e cut [RESOLVIDO]

Phillipe Smith
smithux

(usa Arch Linux)

Enviado em 24/06/2014 - 15:01h

Opa show de bola meu brother! ;)