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

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

Re: [shell-script] Re: Procurar string dentro de outra string (substring


From: Tiago Peczenyj
Subject: Re: [shell-script] Re: Procurar string dentro de outra string (substring)
Date: Mon, 26 Nov 2012 02:28:39 -0200

Shell eh BEM diferente de uma linguagem de prog as vezes, esta mais proximo
do sistema operacional, portanto quanto mais unix vc souber, melhor
Em 26/11/2012 02:25, "Anderson Junior" <address@hidden>
escreveu:

> **
>
>
> 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]
> >
>
>  
>


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



reply via email to

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