Sida 1 av 1
Filtrera ut en ip adress? [LÖST]
Postat: 27 aug 2009, 11:53
av magnus-s
Hej jag har en fil som kan se ut så här.
Jag försöker filtrerra ut all text utom IP numret så det enda som blir ska bli kvar är
Hur gör jag det?
Re: Filtrera ut en ip adress?
Postat: 27 aug 2009, 12:09
av mcNisse
Kod: Markera allt
echo 'document.write("11.222.33.4")' | sed -n 's/[^0-9]*\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\).*/\1/p'
Re: Filtrera ut en ip adress?
Postat: 27 aug 2009, 12:27
av magnus-s
Wohooo tack det fungerade
Du har ingen bra guide för hur sed fungerar?
Re: Filtrera ut en ip adress?
Postat: 27 aug 2009, 12:39
av mcNisse
Nej, jag har ingen bra guide.
Re: Filtrera ut en ip adress?
Postat: 27 aug 2009, 12:39
av KiviE
Re: Filtrera ut en ip adress?
Postat: 27 aug 2009, 12:40
av Konservburk
mcNisse skrev:Kod: Markera allt
echo 'document.write("11.222.33.4")' | sed -n 's/[^0-9]*\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\).*/\1/p'
Det där fungerar inte om du har flera ip-adresser på samma rad, eller om du har andra siffror någonstans innan ip-adressen. Här är en något mer robust variant:
Kod: Markera allt
ip='\(\([1-9]\?\|1[0-9]\|2[0-4]\)[0-9]\|25[0-5]\)'
ip="$ip.$ip.$ip.$ip"
echo 'document.write("11.222.33.44")' | sed "s/$ip/\n&\n/g" | sed -n "/^$ip$/p"
Re: Filtrera ut en ip adress? [LÖST]
Postat: 27 aug 2009, 15:59
av magnus-s
tack ska kolla in länken när jag kommer hem...