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

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

Re: [shell-script] Localizar a próxima linha, depois de uma string, em u


From: Fabiano Caixeta Duarte
Subject: Re: [shell-script] Localizar a próxima linha, depois de uma string, em um arquivo texto
Date: Tue, 27 Jan 2009 23:08:02 -0200

2009/1/27 fernando_gottlieb <address@hidden>

> Estou tentando criar um script para acertar a hora em Linux sem usar o
> protocolo ntp, que é bloqueado por algumas empresas.
>
> Há um site do DSHO - Divisão Serviço da Hora - em
> http://pcdsh01.on.br/HoraLegalBrasileira.asp onde é informada a hora
> certa e pelo que sei tem como referência um relógio atômico.
>
> Eu consigo obter os dados da página mas não sei como localizar a hora.
> Com links -dump http://pcdsh01.on.br/HoraLegalBrasileira.asp eu
> obtenho algo semelhante a:
>
> Divisao Servic,o da Hora - DSHO
>
> Hora Legal Brasileira
>
> Versao em: [IMG]
>
> ------------------------------------------------
> | Hora Oficial de Brasilia em Horario de Verao |
> ------------------------------------------------
> |              27/1/2009 21:48:11              |
> ------------------------------------------------
>
> Eu sei procurar uma string específica ( grep ), sei pegar partes
> específicas de um texto ( awk '{print $x}', sei substituir strings (
> tr '|' '') ou mesmo cortar strings (cut), sei pegar a primeira ou
> primeiras linhas ( head -x ) ou últimas linhas ( tail -n ), mas não
> sei avançar uma ou N linhas.
>
> Posso localizar a linha Hora Oficial de Brasilia com:
>
> links -dump http://pcdsh01.on.br/HoraLegalBrasileira.asp | grep 'Hora
> Oficial de Brasilia', mas, como faço para saltar para a próxima linha?
> (ou retroceder uma linha?)
>
> Grato pela atenção
>
> Fernando A. Gottlieb
>

Talvez seja melhor procurar exatamente o que você quer, ou seja, a
data/hora.

lynx -dump http://pcdsh01.on.br/HoraLegalBrasileira.asp|sed '/^ *[0-9/
:]\{17,19\} *$/!d'

Esta regex não é a melhor para localizar data/hora, mas serve exatamente ao
seu caso. A opção por uma linha com 17 a 19 caracteres válidos se dá em
razão da expressão de dias e meses com um ou dois dígitos.

-- 
Fabiano Caixeta Duarte
Especialista em Redes de Computadores
Linux User #195299
Ribeirão Preto - SP


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



reply via email to

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