
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 print 分隔符,awk会将多个连续的空白看做一个单一的分隔符。此外,awk还会忽略开头跟结尾处的空白。
原创文章awk print 分隔符,作者:N27_what,如若转载,请注明出处:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-134683-1.html
常规战是打不赢老美的
出来混迟早要还的
我不动