[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Verificar se string cont�m determinado caracter
From: |
moysespr |
Subject: |
Re: [shell-script] Verificar se string contém determinado caracter |
Date: |
Tue, 4 Oct 2005 16:46:26 -0700 (PDT) |
A forma como você fez realmente será muito mais lenta que isto:
SIZE=${#VAR}
POS=${VAR%-*} # % para posição do ultimo; %% para posiçao do primeiro hifen
POS=${#POS}
[ $SIZE -ne $POS ]&& echo "Encontrado - na posicao $((POS+1))"
Se isso vai ser usado em mais de um ponto, não tenho a menor dúvida em
recomendar que você crie uma função com o código acima e passe conteúdo ou
nome a testar, o que achar melhor:
hifpos $VAR
ou
hifpos VAR
Imagino que não preciso detalhar.
--- "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
__________________________________
Yahoo! Mail - PC Magazine Editors' Choice 2005
http://mail.yahoo.com