sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #100721
Re: Ang mit firewall script IPtables
Den 03-09-2010 14:25, Per Kofod skrev:
On 03-09-2010 13:58, Casper Sørensen wrote:
.....
WAN=`ifconfig $WANIF | grep Bcast|awk '{print $2}'|cut -f 2 -d :`
Takker for hjælpen, dog var det grep addr istedet for grep Bcast
Jeg brugte grep Bcast fordi jeg har to linier, som matcher addr: (suse
11.2)
br0 Link encap:Ethernet HWaddr 00:18:F3:A2:55:9C
inet addr:192.168.0.49 Bcast:192.168.0.255 Mask:255.255.255.0 <<<<
inet6 addr: fe80::218:f3ff:fea2:559c/64 Scope:Link <<<<
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1501 errors:0 dropped:0 overruns:0 frame:0
TX packets:926 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:372133 (363.4 Kb) TX bytes:219584 (214.4 Kb)
tux2:~ # ifconfig br0 | grep Bcast|awk '{print $2}'|cut -f 2 -d :
192.168.0.49
tux2:~ # ifconfig br0 | grep addr|awk '{print $2}'|cut -f 2 -d :
Link
192.168.0.49
nu kan awk meget mere end "print $2", men også grep/regex funktion mv.
addr:[0-9] matcher linier der har et ciffer efter "addr:"
og sub(...) fjerner "addr:" fra $0 (og dermed $2):
WAN=$(ifconfig br0 | awk '/addr:[0-9]/ {sub(/addr:/,""); print $2}')
PS
man kan med bash også gøre det helt uden hjælp fra eksterne programer,
men den løsning vil fylde for mange linier....
References