shell合理运用巧妙提取IP地址 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

   

    [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

最新文章