parsovani IP adresy sed-em

Martin Mačok martin.macok na underground.cz
Čtvrtek Květen 3 09:05:01 CEST 2001


On Thu, May 03, 2001 at 08:09:50AM +0200, Martin Edlman wrote:
> 	nejsem schopnej rozparsovat IP adresu na slozky, a to pomoci sed-u.
> Perl ani AWK neni k dispozici.
> 	IP adresu (A.B.C.D) mam v promenny, potrebuji jeji treti cislo (C).
> Zkousel jsem nasledujici, vzdy mi to vyhodi zpet celou IP adresu.
> 	Prosim o radu, jak to ma byt, protoze uz nevim.
> 
> DEFGW="10.0.0.1"
> 
> echo $DEFGW | sed -e 's/[0-9]+\.[0-9]+\.([0-9]+)\.[0-9]+/\1/g'
> echo $DEFGW | sed -e '^s/[0-9]+\.[0-9]+\.([0-9]+)\.[0-9]+/\1/g'
> echo $DEFGW | sed -e 's/[0-9]+\.[0-9]+\.([0-9]+)\.[0-9]+.*/\1/g'

echo $DEFGW | sed 's/^[0-9]\+\.[0-9]\+\.\([0-9]\+\)\.[0-9]\+$/\1/'

(ono je potreba ty + odeskejpovat, protoze jinak to matchuje normalne
znak "+", ktery to nenaslo a proto to vypsalo uplne cely retezec.

echo $DEFGW | sed -n 's/^[0-9]\+\.[0-9]\+\.\([0-9]\+\)\.[0-9]\+$/\1/p'

Ale delal bych to spis takto:

echo $DEFGW | cut -f3 -d.

-- 
   Martin Mačok
  underground.cz
    openbsd.cz


Další informace o konferenci Linux