shell合理运用巧妙提取IP地址
[root@XKWB5510 ~]# ifconfig eth0|awk -F "[ :]+" 'NR==2{print $4 "/" $NF}'
192.168.200.210/255.255.255.0
其实这句话的意识就是:
[ :]+ 以多个空格或者多个:作为分割符
然后输出第二行的第四列和最后一列值
大家看一下这个分解就明白了
[root@XKWB5510 ~]# ifconfig eth0| awk -F"[ :]+" 'NR==2{print}'
inet addr:192.168.200.210 Bcast:192.168.200.255 Mask:255.255.255.0
[root@XKWB5510 ~]# awk -F"[: ]+" '{for(i=1;i<=NF;i++) print i,$i}' <<< " inet addr:192.168.200.210 Bcast:192.168.200.255 Mask:255.255.255.0"
1
2 inet
3 addr
4 192.168.200.210
5 Bcast
6 192.168.200.255
7 Mask
8 255.255.255.0
去掉inet前面的空格之后,就成了下面这个,显然多个空格也是一个分隔符
[root@XKWB5510 ~]# awk 'BEGIN{FS="[ :]+"}{for(i=1;i<=NF;i++) print i,$i}' <<< "inet addr:192.168.200.210 Bcast:192.168.200.255 Mask:255.255.255.0"
1 inet
2 addr
3 192.168.200.210
4 Bcast
5 192.168.200.255
6 Mask
7 255.255.255.0
作者“ANLJF的专栏”
相关新闻>>
- 发表评论
-
- 最新评论 更多>>