语法:
split(input-string,output-array,separator)
split函数将一个字符串转换成单独的数组元素。它需要以下三个参数。
1. input-string:这是输入字符串需要被分成多个字符串
2. output-array:这个数组将包含分割字符串作为单个元素。
3. separator:分隔符用于分隔输入字符串。
举个例子,原items-sold.txt文件被略微改变为具有不同字段分隔符,即一个冒号分隔项目数和销售数量。在销售数量里,个体数量都用逗号分隔。
$ cat items-sold1.txt
101:2,10,5,8,10,12
102:0,1,4,3,0,2
103:10,6,11,20,5,13
104:2,3,4,0,6,5
105:10,2,5,7,12,6
所以,为了让我们能计算出特定项目销售的总数,我们应该采取第二个字段(即所有用逗号分隔数量),用逗号分隔符分开他们,并存储于字符串数组,然后通过数组循环来进行累加数量。
$ cat split.awk
BEGIN {
FS=":"
}
{
split($2,quantity,",");
total=0;
for (x in quantity)
total=total+quantity[x];
print "Item", $1, ":", total, "quantities sold";
}
$ awk -f split.awk items-sold1.txt
Item 101 : 47 quantities sold
Item 102 : 10 quantities sold
Item 103 : 65 quantities sold
Item 104 : 20 quantities sold
Item 105 : 42 quantities sold
案例二:
$ sudo netstat -lntp | grep mysqld | awk '{print $4}'| awk '{split($0,ports,":");print ports[length(ports)]}’
3306