|
From: | Alain M. |
Subject: | Re: [shell-script] Localizar a próxima linha, depois de uma string, em um arquivo texto |
Date: | Wed, 28 Jan 2009 01:40:51 -0200 |
User-agent: | Thunderbird 2.0.0.17 (X11/20080914) |
Obrigado Flávio, com sua dica, consegui eliminar o que está em volta da data.Eu estou tentando deixar um pouco menos sensível a uma variação do site (não avançando 3 linhas fixas), ainda não estou testando uma ER da data, mas ficou assim:
wget http://pcdsh01.on.br/HoraLegalBrasileira.asp -O hora.html grep -A 4 "Hora Oficial de Bras" hora.html | \ sed -n 's/^.*<B>\([0-9\/ :]*\)<\/B>.*$/\1/p' BTW, você usou o editor ed, nunca tinha ouvido falar... porque? Abraços que já é tarde, Alain Flavio Junior escreveu:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Essa merda de gmail/pgp zua tudo minhas regex.. Um post com a solucao que bolei aqui: http://www.pastebin.ca/1320214 novamente, espero ter ajudado. - -- Flavio do Carmo Junior aka waKKu -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (MingW32) Comment: http://getfiregpg.org iEYEARECAAYFAkl/x0cACgkQgyuXjr6dykt6lwCeIp0rXvieVYFpaopIyrY3sSEf V3wAoMQc1UlTbk68yk4y0vvjLNN3MhHo =N3nq -----END PGP SIGNATURE----- 2009/1/28 Flavio Junior <address@hidden>:-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 É tarde cara.. nao me faz pensar mto.. lazlo:~# wget http://pcdsh01.on.br/HoraLegalBrasileira.asp -O hora.html - --00:44:02-- http://pcdsh01.on.br/HoraLegalBrasileira.asp => `hora.html' Resolving pcdsh01.on.br... 200.20.186.71 Connecting to pcdsh01.on.br|200.20.186.71|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 3,180 (3.1K) [text/html] 100%[======================================================================================================================================>] 3,180 --.--K/s 00:44:02 (120.58 KB/s) - `hora.html' saved [3180/3180] lazlo:~# ed -s hora.html \(.*\).*$/\\1/p' 28/1/2009 00:44:44 lazlo:~# Espero ter ajudado.. - -- Flavio do Carmo Junior aka waKKu #bash-br @ irc.freenode.net -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (MingW32) Comment: http://getfiregpg.org iEYEARECAAYFAkl/xrgACgkQgyuXjr6dykuKiACfTkLwco/8G4JotbAqxWKiiUlz zZgAniDXs0xuh/tzncA+ainiwiNZtwB9 =eqNo -----END PGP SIGNATURE----- 2009/1/27 Alain M. <address@hidden>:Estou tentando fazer um script com sed que pegue o texto: </TR> <TR> <TD ALIGN="CENTER" BGCOLOR=#FFFF00><B>27/1/2009 23:41:27</B></TD> </TR> que retorne: "27/1/2009 23:41:27" - não consegui achar como validar a data - nem como imprimir só a data (não acho que é OT porque está nomeio de script, depois vou jogar no awk...) Já estou procurando faz tempo... Alain Alain M. escreveu:Gostei da tua idéia, só uma primeira tentativa: #!/bin/bash wget http://pcdsh01.on.br/HoraLegalBrasileira.asp -O hora.html grep -A 4 "Hora Oficial de Bras" hora.html | grep BGCOLOR=#FFFF00 responde: <TD ALIGN="CENTER" BGCOLOR=#FFFF00><B>27/1/2009 22:30:49</B></TD> Estou usando características peculiares, seria melhor passar a usar o sed com uma ER para achar a linha com a Data-hora, mas meu sed ainda é limitado... Alain fernando_gottlieb escreveu: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 ------------------------------------ ---------------------------------------------------------- Esta lista não admite a abordagem de outras liguagens de programação, como perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso. ---------------------------------------------------------- Sair da lista: address@hidden ---------------------------------------------------------- Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net ---------------------------------------------------------- Servidor Newsgroup da lista: news.gmane.org Grupo: gmane.org.user-groups.programming.shell.brazil Links do Yahoo! Grupos------------------------------------ ---------------------------------------------------------- Esta lista não admite a abordagem de outras liguagens de programação, como perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso. ---------------------------------------------------------- Sair da lista: address@hidden ---------------------------------------------------------- Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net ---------------------------------------------------------- Servidor Newsgroup da lista: news.gmane.org Grupo: gmane.org.user-groups.programming.shell.brazil Links do Yahoo! Grupos------------------------------------ --------------------------------------------------------------------- Esta lista não admite a abordagem de outras liguagens de programação, como perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso. --------------------------------------------------------------------- Sair da lista: address@hidden --------------------------------------------------------------------- Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net --------------------------------------------------------------------- Servidor Newsgroup da lista: news.gmane.org Grupo: gmane.org.user-groups.programming.shell.brazil Links do Yahoo! Grupos
[Prev in Thread] | Current Thread | [Next in Thread] |