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

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

Re: Procurar string dentro de outra string (substring)


From: Anderson Junior
Subject: Re: Procurar string dentro de outra string (substring)
Date: Mon, 26 Nov 2012 04:25:28 -0000
User-agent: eGroups-EW/0.82

obrigado pela aula...concegui entender como funciona...mãos a obra, vou estudar 
mais um pouco e dai vou descançar....obrigado novamente...

--- Em address@hidden, Tiago Peczenyj <tiago.peczenyj@...> escreveu
>
> no bash é uma forma de simplificar as coisas, veja
> 
> bash$ echo "mensagem" | tr -d m
> ensage
> 
> bash$ tr -d m < <(echo "mensagem")
> ensage
> 
> o tr espera ler da entrada padrão (a STDIN). eis duas formas de enviar o
> texto "mensagem" ou o conteudo de uma variavel via echo, seja por pipe ou
> uma construição mais "complexa" envolvendo <( )
> 
> bash$ tr -d m <<< mensagem
> ensage
> 
> tem uma vantagem sobre a primeira versão (com echo + pipe |) alem da
> simplicidade é que vc pode facilmente detectar se houve um erro checando
> apenas a variavel $? (ou colocando && ou || para processar). exemplo
> 
> comando && echo sucesso || echo falha
> 
> se vc tem no lugar do comando algo como
> 
> comando1 | comando3 | comando3
> 
> a variavel $? vai se referir ao ultimo comando e não a cadeia toda. a
> cadeia toda vc analisa no array PIPESTATUS e é um tanto chato.
> 
> o mecanismo de retornar um numero ao sistema operacional é interessante
> pois a convenção é usar 0 para saida normal e numeros positivos para erros.
> veja o man curl no que diz respeito aos codigos de erro la no final.
> 
> os programas (em um shell script) falham de forma silenciosa. vc só
> interrompe o fluxo de um shell script se assim vc desejar. por exemplo o
> seu script precisa fazer 3 coisas e a coisa do meio "deu erro", a chance é
> que isso seja uma falha silenciosa (mesmo q grite em vermelho no STDERR) e
> o script continue.
> 
> vejamos numa função:
> 
> bash$ function xxx() { rm /a ; echo  ops ; }
> bash$ xxx
> rm: /a: No such file or directory
> ops
> 
> o arquivo /a não existe, se vc substituir on echo por "ops $?" vai ver o
> valor 1. se vc espera remover algo tem que verificar se o rm executou
> corretamente. por isto vc pode fazer coisas como
> 
> if rm /path/to/file ; then
>   echo "apagou"
> else
>   echo "ops... "
> fi
> 
> funcionam, o if entende o retorno do /bin/rm ao sistema operacional.
> 
> pra quem ja viu C é o retorno da função main (quando não é uma chamada da
> função exit(VALOR))
> 
> 2012/11/26 Anderson Junior <andersonscinfo@...>
> 
> > **
> >
> >
> > ainda to tentando entender... pra que serve esses tres menor que <<<
> >
> > --- Em address@hidden, Alysson Gonçalves de Azevedo
> > <agalysson@> escreveu
> >
> > >
> > > Sugestão para estudo
> > >
> > > if [[ `grep -q "$1" <<< "$2"` ]]
> > > then...
> > >
> > >
> > >
> > > Alysson Gonçalves de Azevedo - (11) 984 917 730
> > >
> > > "É curioso como as pessoas ficam confusas quando a frase não terminam do
> > > jeito que elas periquito."
> > >
> > >
> > >
> > > Em 26 de novembro de 2012 00:05, Valtoir <valtoirjardim@> escreveu:
> >
> > >
> > > > É uma boa solução, se tiveres somente dois parâmetros. Imaginei que
> > poderia
> > > > ser algo tipo:
> > > >
> > > > script.sh and anderson amanda etc
> > > >
> > > > Valtoir
> > > >
> > > >
> > > > Em 25 de novembro de 2012 23:41, Anderson Junior <
> > > > andersonscinfo@> escreveu:
> >
> > > >
> > > > > **
> > > > >
> > > > >
> > > > > concegui...agradeço a ajuda de vcs, deixo como resolvido....fiz dessa
> > > > > forma....não é a melhor, mas de imediato para oque eu preciso deu
> > > > certo...
> > > > >
> > > > > #!/bin/bash
> > > > >
> > > > > echo $2 | grep $1 > /dev/null
> > > > > if [ $? = 0 ]; then
> > > > > echo "$1 esta contida dentro de $2"
> > > > > else
> > > > > echo "sem referencias"
> > > > > fi
> > > > >
> > > > > --- Em address@hidden, "Anderson Junior"
> > > > <andersonscinfo@>
> > > > > escreveu
> > > > >
> > > > > >
> > > > > > boa noite galera, este é meu primeiro posto na lista, é algo bem
> > > > > simples, mas pra mim que estou começando não parece ser simples...
> > > > > >
> > > > > > eu preciso procurar por determinado trecho de string dentro de
> > outras
> > > > > strings, usando um if, tipo
> > > > > >
> > > > > > strings
> > > > > >
> > > > > > anderson
> > > > > > amanda
> > > > > >
> > > > > > ai preciso verificar se nessas duas strings tem a string "and", ai
> > > > > queria tratar isso com um if...pois é....é simples, mas não dou
> > conta....
> > > > > >
> > > > > > obrigado....
> > > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > >
> > > >
> > > > ------------------------------------
> > > >
> > > > ----------------------------------------------------------
> > > > 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
> > > >
> > > >
> > > >
> > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> >
> >  
> >
> 
> 
> 
> -- 
> Tiago B. Peczenyj
> Linux User #405772
> 
> http://pacman.blog.br
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




reply via email to

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