sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #70025
Re: Et simplere og evt. mere effektivt script
Tirsdag 13 januar 2004 12:18 kvad Soren Munk:
> > uden at have testet det vil jeg tro at noget lignende følgende
> > kan gøre det:
> >
> > sed '/firewall /!d;s/
> > \(MAC=\|TOS=\|PREC=\|ID=\|TTL=\|WINDOW=\|RES=\| URGP=\|munk
> > kernel\|firewall\)[^ ]*//' /var/log/firewall/iptables > /
> > var/log/firewall/iptables-mod
>
> Super svar, mange tak, men... :)
> Det virker ikke helt, nu og da ryger der en linie med `WINDOW`
> `RES` ell. `URGP` igennem, fx
> Jan 13 11:53:58 firewall IN IN=eth0 OUT=
> MAC=00:30:4f:09:86:48:00:03:6b:1a:6c:a8:08:00 SRC=xx DST=xx LEN=48
> TOS=0x00 PREC=0x00 TTL=125 ID=3794 DF PROTO=TCP SPT=1271 DPT=139
> WINDOW=16384 RES=0x00 SYN URGP=0
>
> Og andre gange gør der ikke, hvilket undrer mig lidt.
Er ovenstående 1 lang linje i original-filen?
Er blanktegnet før og efter mønstret et enkelt mellemrum? Ikke en
tabulator eller noget andet whitespace?
> Hvad gør `[^ ]*` ?
Det er mønstret for _ikke_ (^) mellemrum ( ) nul eller flere
forekomster (*)
Eller med andre ord nul eller flere forekomster af hvad som helst
andet end mellemrum.
Hilsen Johnny :o)
Follow ups
References