awk的-F参数可以指定新的分隔符,有些时候可能需求指定多个分隔符,比如下面的内容
[root@N1 ~]# netstat -an | grep ESTAB udp 0 0 192.168.1.120:35570 212.47.249.141:123 ESTABLISHED udp 0 0 192.168.1.120:55589 108.59.2.24:123 ESTABLISHED
如果需要取出源IP的话,一般大家会这样做,即做两次awk操作
[root@N1 ~]# netstat -an | grep ESTAB | awk '{print $5}' | awk -F: '{print $1}' 108.59.2.24 212.47.249.141
其实呢,通过在awk中指定两个分隔符(空格和:),即可一次性的提取出源IP地址,在awk中支持多个分隔符的写法如下:
[root@N1 ~]# netstat -an | grep ESTAB | awk -F '[ :]+' '{print $6}' 108.59.2.24 212.47.249.141 #多一个加号表明将连续出现的分隔符当做一个来处理
注意:
在awk中,当分隔符指定为空字符串时,awk会将多个连续的空白看做一个单一的分隔符。此外,awk还会忽略开头和结尾处的空白。
原创文章,作者:N27_what,如若转载,请注明出处:http://www.178linux.com/84296