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: 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


reply via email to

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