在awk中对列进行分组可以使用awk的数组和循环结构来实现。具体步骤如下:
下面是一个例子,假设有以下数据文件data.txt:
A,1,2
B,3,4
B,4,5
A,2,3
C,6,7
C,1,2
下面是awk脚本:
#!/bin/awk -f
BEGIN {
FS = ","
OFS = ","
}
{
group[$1] = group[$1] OFS $2 OFS $3
}
END {
for (key in group) {
print key group[key]
}
}
在终端执行以下命令:
awk -f script.awk data.txt
就可以输出如下结果:
A,1,2,2,3
B,3,4,4,5
C,6,7,1,2
可以看到,结果按照第一列进行了分组,而每个组内的数据则以第二、三列的值为元素进行了合并。
上一篇:awk中对几列进行数学运算
下一篇:awk中多维数组排序问题