问题源起:http://bbs.chinaunix.net/thread-3753784-1-1.html 代码如下 {% capture text %} $awk '{if(!a[$1]){a[$1]=$1" "$2;}else{a[$1]=a[$1]"_"$2}}END{for(i in a){print a[i]}}' file.txt a 1_2_3 b 4_5 c 6_1 d 2_4 $cat file.txt a 1 a 2 a 3 b 4 b 5 c
数组 在排序前需要对数组有所了解,数组是用于存储一系列值得变量,这些值之间通常是由联系的,可通过索引来访问数组的值,索引需要用括号括起来,基本格式如下: array[index]=value awk数组无须定义数组类型和大小而可以直接赋值使用. 1.关联数组 关联数组是指数组的索引可以是字符串,也可以是数字.对于每个数组元素,awk会自动建立索引-数值元素值对.这里索引不代表该数值存储地址信息. 可以用for循环来访问数组,语法如下: for (variable in array) do som