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