2009/1/27 fernando_gottlieb <[email protected]> > 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]
