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:34:45 -0000
User-agent: eGroups-EW/0.82

então...eu venho do windows, e comecei a trocar o delphi pelo lazarus, e o amor 
pelo linux veio surgindo aos poucos, agora ja não troco por nada, meu 
aprendizado ta meio lento porque é tudo novo pra mim, mas comprei um livro 
cahamado SHELL SCRIPT PROFISSIONAL, que acho que vai me ajudar muito, sem falar 
na lista que é super rapida nas respostas e muito explicativa...

--- Em address@hidden, Tiago Peczenyj <tiago.peczenyj@...> escreveu
>
> 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" <andersonscinfo@...>
> 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]