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

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

RES: [shell-script] Separando octetos de endereço IP


From: Julio Cezar Neves - DATAPREVRJ
Subject: RES: [shell-script] Separando octetos de endereço IP
Date: Thu, 1 Jul 2004 12:20:43 -0300

Aê Aparecido,
o mais veloz e ininteligível é:

Prompt> Endereço=10.1.1.0
Prompt> echo ${Endereço%.*}. # repare o ponto no fim,
10.1.1.                      # para gerar este ponto após o 1
Prompt> echo ${Endereço##*.}
0

Ou do jeito que vc quer:

Prompt> A=${Endereço%.*}.
Prompt> B=${Endereço##*.}

Esta construção é veloz por ser built-in do Shell. Na sintaxe
${parâmetro%padrão-de-pesquisa} o operador % suprime da direita de parâmetro
a menor parte que coincidir com padrão-de-pesquisa. Assim, a menor parte a
direita que coincide com .* (isto é um metacaractere, não uma exp. regular)
é .0, que é suprimido.

O # suprime a menor coincidência a esquerda. Em ambos os casos se o operador
vier dobrado (i.e. %% ou ##) a supressão será da maior coincidência a
direita ou esquerda, respectivamente.

É meio confuso mas se vc testar (com path p.ex.) irá entender.

[ ]s,
Julio Cezar Neves
- Gerente do Programa de Software Livre -
Tel:+55 21 2528-7070 / +55 21 8112-9988
Fax: +55 21 2528-7646
mailto:address@hidden


| -----Mensagem original-----
| De: address@hidden [mailto:address@hidden]
| Enviada em: quinta-feira, 1 de julho de 2004 08:00
| Para: address@hidden
| Assunto: Re: [shell-script] Separando octetos de endereço IP
| 
| 
| 
| 
| $ A=$(echo "10.1.1.0" | cut -f1-3 -d.)
| $ B=$(echo "10.1.1.0" | cut -f4 -d.)
| $ echo $A
| 10.1.1
| $ echo $B
| 0
| 
| 
| On Thursday 01 July 2004 02:27, aparecido_gpforum wrote:
| > Pessoal,
| >
| > Estou com uma dúvida cruel. Gostaria de saber qual a melhor forma
| > para eu separar um endereço ip, em dois registros. O 
| primeiro, com os
| > 3 primeiros octetos, e a segunda com o último octeto.
| > Por ex.:
| > Endereço=10.1.1.0
| > sendo:
| > A=10.1.1. e B=0
| >
| > Obs.: Teria de ser independente do número caracteres por
| > octeto...podendo de ser de N.N.N.N até NNN.NNN.NNN.NNN.
| >
| > Agradeço desde já!
| 
| 
| ---------------------------------------------------------------------
| 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
---------------------------------------------------------------------
 
Links do Yahoo! Grupos




 
 


reply via email to

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