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

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

Re: [shell-script] Verificar se string contém determinado caracter


From: Alexandre de Abreu
Subject: Re: [shell-script] Verificar se string contém determinado caracter
Date: Tue, 4 Oct 2005 12:55:34 -0300

Oi Luis,

Em bash é possível utilizar o teste entre colchetes duplos utilizando
'glob', já o comando 'expr' é mais poderoso, dentre as funções dele, o
exemplo abaixo retorna a posição em que encontra o caracter ou 0 caso
não encontre.

-----------------8<---------------
#!/bin/bash
VAR=mensalao

[[ $VAR == *e* ]] && echo e:OK
[[ $VAR == *r* ]] && echo r:OK

expr $VAR : '.*e.*' && echo expr e:OK
expr $VAR : '.*r.*' && echo expr rOK
----------------8<---------------

A saída dele é:

e:OK
8
expr e:OK
0


Se vc quiser ler mais sobre 'expr', escrevi  um tutorial sobre ele na Dicas-L :

Expr: Processamento de Strings utilizando Expressões Regulares
------------------------------------------------------------------------------------------------
http://www.dicas-l.com.br/dicas-l/20050527.php

Qualquer coisa, é só perguntar.

[]s

Alexandre de Abreu

On 04/10/05, Luis Fernando C. Talora <address@hidden> wrote:
>  Amigos,
>
>  Em um script em bash, coloquei uma rotina que checa a existência
>  de um caracter especial dentro de uma string. Fiz isso utilizando
>  "for":
>
>  SIZE=${#VAR}
>  for ((A=0;A<$SIZE;A++)) ; do
>     if [ ${VAR:0:1} == "-" ] ; then
>        echo "Encontrado - na posicao $A"
>        break
>     fi
>  done
>
>  Eu precisei utilizar essa rotina mais de uma vez em meu script.
>  Como todo laço consome tempo e como shell scripting é tão
>  flexível, fiquei pesando se não haveria um operador que
>  verificasse a condição abaixo:
>
>  if [ "$VAR" <contém> "-" ] ; then
>      echo "$VAR contém um '-'."
>  fi
>
>  Isso existe? Se existe, retorna a posição em que o caracter se
>  encontra na string?
>
>  Obrigado mais uma vez, pessoal!
>
>  []´s
>
>  Luís Talora
>
>
>
>
> ---------------------------------------------------------------------
>  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
> ---------------------------------------------------------------------
>
>
>
>
>  Yahoo! Grupos, um serviço oferecido por:
>
> PlayStation 2 a partir de R$ 659! Parcele!Celular Motorola com câmera a
> partir de R$ 449!
> Siemens SL65 com câmera a partir de R$ 730! Câmeras Digitais a partir de
> apenas R$ 399! Parcele!
> CD Players Pioneer a partir de R$ 369!MP3 Player iPod a partir de R$ 799!
> Parcele!
>  ________________________________
>  Links do Yahoo! Grupos
>
>
> Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/shell-script/
>
> Para sair deste grupo, envie um e-mail para:
> address@hidden
>
> O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do
> Yahoo!.


--
Alexandre de Abreu, GCUX, RHCE


reply via email to

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