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

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

Re: [shell-script] express�o no case


From: Aurelio Marinho Jargas
Subject: Re: [shell-script] expressão no case
Date: Sun, 26 Oct 2003 08:24:32 -0300 (ART)

oi pablo,

 --- Pablo Fernandes <address@hidden> escreveu: 
> Gostaria de saber como usar os metacaracteres com o
> programa case.

os metaracteres do case estão listados no Canivete Suíço
(http://aurelio.net/shell/canivete.html), no tópico
"Curingas para os Itens do Comando Case"

são eles:


Curinga   Casa com...
---------+-------------------------------------------
*         Qualquer coisa
?         Um caractere qualquer
[...]     Qualquer um dos caracteres listados
[^...]    Qualquer um caractere, exceto os listados
...|...   Qualquer um dos textos separados por |


são poucos curingas, para definir padrões simples.
como um IP é um padrão variável e complexo, você deve
usar Expressões Regulares de verdade, auxiliado por
algum programa que as use.

em outras palavras, esqueça o case :)

faça algo tipo:

if echo $IP | grep -qs 'ER-complicada'; then
   echo 'é um IP'
else
   echo 'não é um IP'
fi

mmmmmmm, quatro letras 'e' alinhadas na vertical,
que bonitinho :)


> Ex:
> case $1 in
>
([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){2}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])
>       ) echo "É um ip"
>       ;;
>       *) echo "Não é ip"
>          ;;
> esac
> 
> Essa é uma ER para pegar endereço IP (máximo de
> 255.255.255.255 e minimo de 1.0.0.0
> Eu queria saber que metacaracteres eu precisaria
> escapar e como faria para ficar mais legível (como
> fica a estrutura dentro do arquivo (organização)).
> Também queria saber como o shell vai saber a hora do )
> que o case usa antes do bloco de comandos.
> 
> Obrigado
> [ ]'s
> Pablo Fernandes


=====
-- 
Aurelio Marinho Jargas - Curitiba
Ser tosco eh... http://aurelio.net/fotos
Apostila de Shell a venda http://aurelio.net/shell/apostila

Yahoo! Mail - o melhor webmail do Brasil
http://mail.yahoo.com.br


reply via email to

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