[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