请教关于AWK中split方法的使用
展开全部
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]}'
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询