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

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

Re: [shell-script] Duvida com sed


From: Leslie Watter
Subject: Re: [shell-script] Duvida com sed
Date: Fri, 8 Mar 2013 14:50:15 -0300

Holla, Torre

Mira que el comando wget pone lo estatus de error en la variable $?.
Abajo tenes un exemplo:

-----------
$ wget http://10.15.21.62/~leslie/git-cheat-sheet.txt
--2013-03-08 14:39:26--  http://10.15.21.62/~leslie/git-cheat-sheet.txt
Tamanho: 9665 (9,4K) [text/plain]
Salvando em: “git-cheat-sheet.txt”

100%[====================================================================================================================>]
9.665       --.-K/s   em 0,001s

2013-03-08 14:39:26 (13,4 MB/s) - “git-cheat-sheet.txt” salvo [9665/9665]


[16977:16143 - 0:2002] 02:39:26 [leslie@ecelepar16853:o +2] ~
$ echo $?
0

[16977:16143 - 0:2003] 02:39:29 [leslie@ecelepar16853:o +2] ~
$ wget http://10.15.21.62/~leslie/git-cheat
--2013-03-08 14:39:35--  http://10.15.21.62/~leslie/git-cheat
(.....)
2013-03-08 14:39:35 ERRO 404: Not Found.


[16977:16143 - 0:2004] 02:39:35 [leslie@ecelepar16853:o +2] ~
$ echo $?
8
--------------------------


En el primer comando, lo archivo git-cheat-sheet.txt existe e fue obtido
correctamente. Mira que la variable $? está en 0 (ok)

En el segundo comando, me olvide de parte de lo nombre de archivo para lo
teste e observe la variable $? que está em 8 ( diferente de zero es que
ocurrio algun error).

Assi, creo que separando los comandos tenes como probar la saida de cada
download de archivo e intentar-lo más tarde, o, hacer algo.

;-)

Leslie
-- 
If you're trying to do something really complex,
beware that there should be a simpler and efficient way.



2013/3/8 jimmy <address@hidden>

> **
>
>
> Saudações torre_collons,
>
> On Fri, Mar 08, 2013 at 03:46:06PM -0000, torre_collons wrote: [...]
>
> > Eu tenho um arquivo de texto do resultado de uso do wget em um script,
> > eu quero recuperar apenas os links que não foram baixados, em seguida,
> > colocar um exemplo de um que foi baixado, e outro que deu erro:
> [...]
>
> > Como posso recuperar a linha com o link errado.
> Assumindo que a dúvida seja específica sobre sed e que o padrão do log
> seja um identificador "CORRECTO" ou ERRO seguindo de:
>
> - quebra de linha
> - data
> - quebra de linha
> - link
>
> podemos fazer o seguinte para representar o padrão:
>
> $ sed
> '/^ERRO/{N;/\n--[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}\s[0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}--$/{N;s/.*\n//;p}};d'
> <seu_arquivo_de_log>
>
> esse 1liner irá procurar um linha que inicie com "ERRO" e apensar ao
> "pattern space"[1] a próxima linha, se esta linha esta tiver o padrão de
> data esperado a próxima linha também será apensada e seria esta última
> nosso objetivo. Nesse exemplo, não me preocupei em validar o url, avalie
> se isto é crítico no seu problema. O comando "d" no final é para remover
> todas as outras linhas. Esse não é o único meio de se fazer, mesmo em
> sed, mas é um dos mais simples de se embutir em sed-scripts maiores.
>
> [1] info sed 'Execution Cycle'
>
> --
> "Não manejo bem as palavras
> Mas manipulo bem as strings."
> ------------------------------
> http://tecnoveneno.blogspot.com
>
>  
>
> <address@hidden?subject=Res%3A%20Re%3A%20%5Bshell-script%5D%20Duvida%20com%20sed>|
>  através
> de 
> email<address@hidden?subject=Res%3A%20Re%3A%20%5Bshell-script%5D%20Duvida%20com%20sed>|
>  Responder
> através da 
> web<http://br.groups.yahoo.com/group/shell-script/post;_ylc=X3oDMTJxZmx1aG4yBF9TAzk3NDkwNDM3BGdycElkAzE5NDEzMTIEZ3Jwc3BJZAMyMTM3MTExMjU0BG1zZ0lkAzM1NjQyBHNlYwNmdHIEc2xrA3JwbHkEc3RpbWUDMTM2Mjc2MzgzOA--?act=reply&messageNum=35642>|
>  Adicionar
> um novo 
> tópico<http://br.groups.yahoo.com/group/shell-script/post;_ylc=X3oDMTJldWNyaGRxBF9TAzk3NDkwNDM3BGdycElkAzE5NDEzMTIEZ3Jwc3BJZAMyMTM3MTExMjU0BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTM2Mjc2MzgzOA-->
> Mensagens neste 
> tópico<http://br.groups.yahoo.com/group/shell-script/message/35635;_ylc=X3oDMTM2MXJrbG83BF9TAzk3NDkwNDM3BGdycElkAzE5NDEzMTIEZ3Jwc3BJZAMyMTM3MTExMjU0BG1zZ0lkAzM1NjQyBHNlYwNmdHIEc2xrA3Z0cGMEc3RpbWUDMTM2Mjc2MzgzOAR0cGNJZAMzNTYzNQ-->(
> 8)
>  Atividade nos últimos dias:
>
>    - Novos 
> usuários<http://br.groups.yahoo.com/group/shell-script/members;_ylc=X3oDMTJmbDllN2xmBF9TAzk3NDkwNDM3BGdycElkAzE5NDEzMTIEZ3Jwc3BJZAMyMTM3MTExMjU0BHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzEzNjI3NjM4Mzg-?o=6>
>    4
>
>  Visite seu 
> Grupo<http://br.groups.yahoo.com/group/shell-script;_ylc=X3oDMTJlcDI5dmVxBF9TAzk3NDkwNDM3BGdycElkAzE5NDEzMTIEZ3Jwc3BJZAMyMTM3MTExMjU0BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTM2Mjc2MzgzOA-->
>  ---------------------------------------------------------------------
> 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
>


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



reply via email to

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