[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Re: Extração de dados em HTML
From: |
phfbettega |
Subject: |
Re: [shell-script] Re: Extração de dados em HTML |
Date: |
Thu, 11 May 2017 02:06:10 -0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0 |
É um esqueleto de loop. Aprendi o loop no livro do Aurelio, como unir todas as
linhas de um arquivo numa linha só.
http://aurelio.net/sed/livro/
Opção -n inibe a impressão, o sed só vai imprimir com o comando p.
Opção -r para expressões regulares avançadas.
sed -nr '
# Aplique os comandos entre chaves apenas nas linhas que contenham
/user\.default/
/user\.default/ {
# Define a marcação 'a'.
:a
# Aqui outro endereço.
# Quando achar uma linha que contenha /10\.255/, pule para a marcação 'fim'.
# O pulo é indicado pelo comando 'b'.
/10\.255/ b fim
# O sed só vai executar o comando 'N' se a linha não casar com o endereço
/10\.255/.
# O comando 'N' coloca um '\n' no fim do conteúdo do espaço padrão e lê a
próxima linha
# do arquivo no espaço padrão.
N
# Aqui é o ponto em que o sed vai carregando linha por linha no espaço padrão
(a cada
# passagem do loop) com um '\n' entre as linhas.
# Enquanto uma linha não casar com o endereço /10\.255/ (que pula para o 'fim'),
# o espaço padrão vai enchendo.
# O comando 'b' pula para a marcação 'a' lá no começo das chaves.
b a
# Quando o sed chega nessa marcação é porque sofreu o desvio do endereço
/10\.255/.
:fim
# Aqui o espaço padrão tem somente uma linha formada com as linhas lidas pelo
'N'
# separadas por '\n', daí é só pegar o que interessa com os grupos e substituir
# todo o espaço padão pelos retrovisores. O 'p' é um modificador do comando 's'
que
# imprime o espaço padrão se a substituição ocorreu.
s/(user\.default).*(10\.255[.0-9]+).*/\1 \2/p
}'
Abraços Paulo
On 10-05-2017 14:09, address@hidden [shell-script] wrote:
Opa, pessoal, primeiramente muito obrigado pela ajuda.
A solução dada pelo phfbettega funcionou perfeitamente.
Trouxe somente os dados que preciso. Só preciso entender melhor o sed rs.
Resultado esperado:
user.default 10.255.1.158
user.default 10.255.1.54
user.default 10.255.1.161
Trecho do código no pastebin:
https://pastebin.com/kWaDgWaW
--------------------------------------------------------------------------------------------------------------
Enviado por: address@hidden
--------------------------------------------------------------------------------------------------------------
- Re: [shell-script] Extração de dados em HTML, (continued)
Re: Extração de dados em HTML, itamarnet, 2017/05/09
Re: [shell-script] Extração de dados em HTML, phfbettega, 2017/05/09