[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 01:59:19 -0200 |
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 <address@hidden>
> **
>
>
> 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]
- Procurar string dentro de outra string (substring), Anderson Junior, 2012/11/25
- Re: [shell-script] Procurar string dentro de outra string (substring), Valtoir, 2012/11/25
- Re: [shell-script] Procurar string dentro de outra string (substring), Enilton Angelim, 2012/11/25
- Re: Procurar string dentro de outra string (substring), Anderson Junior, 2012/11/25
- Re: [shell-script] Re: Procurar string dentro de outra string (substring), Valtoir, 2012/11/25
- Re: [shell-script] Re: Procurar string dentro de outra string (substring), Alysson Gonçalves de Azevedo, 2012/11/25
- Re: Procurar string dentro de outra string (substring), Anderson Junior, 2012/11/25
- Re: [shell-script] Re: Procurar string dentro de outra string (substring),
Tiago Peczenyj <=
- Re: Procurar string dentro de outra string (substring), Anderson Junior, 2012/11/25
- Re: [shell-script] Re: Procurar string dentro de outra string (substring), Tiago Peczenyj, 2012/11/25
- Re: Procurar string dentro de outra string (substring), Anderson Junior, 2012/11/25
- Re: Procurar string dentro de outra string (substring), Anderson Junior, 2012/11/25
- Re: [shell-script] Re: Procurar string dentro de outra string (substring), Tiago Peczenyj, 2012/11/25
- Re: Procurar string dentro de outra string (substring), Anderson Junior, 2012/11/25
RES: [shell-script] Re: Procurar string dentro de outra string (substring), Emerson Domingues Souto - H2M, 2012/11/26