[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- RES: [shell-script] Separando octetos de endereço IP,
Julio Cezar Neves - DATAPREVRJ <=