请教关于AWK中split方法的使用

 我来答
cnbubble
2017-05-21 · TA获得超过2607个赞
知道大有可为答主
回答量:1990
采纳率:83%
帮助的人:776万
展开全部

split(string,array,separator)

将string,用separator分割后放入array数组

第三个参数可以不提供,此时分隔符会使用awk中的FS变量的值(默认是空格 和/或 Tab)

返回值是数组个数。

一般可以不使用其返回值,即调用时不用将split方法赋值给一个变量。

举例:

 例2:计算指定范围内的和(计算每个人1月份的工资之和)
[root@test ~]# cat test.txt 
Tom    2012-12-11      car     53000
John   2013-01-13      bike    41000
vivi    2013-01-18      car     42800
Tom    2013-01-20      car     32500
John   2013-01-28      bike    63500
[root@test ~]# awk '{split($2,a,"-");if(a[2]==01){b[$1]+=$4}}END{for(i in b)print i,b[i]}' test.txt   
vivi 2800
Tom2500
John4500
#另一例子:
ipstr="192.168.1.2,192.168.1.3"
awk 'BEGIN{split('"\"$ipstr\""',a,",");for(i in a)print "sa["i"]="a[i]}'
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式