热爱开源,热爱linux
分类: LINUX
2010-12-27 22:03:11
#假设我有如下文件:
#cat data
#123 def1 456
#345 def2 812
#123 def3 563
#322 def4 684
#123 def5 879
#......................
#现在我想把第一列中字段相同的合并,第一列不相同的则保留,
#合并的原则就是保留第一个出现的前两个字段,第三个字段则把结果相加,以上面的示例为例:
#
#就是对于123开头的需要合并,合并后应该成为如下:
#cat data
#123 def1 1898
#345 def2 812
#322 def4 684
#请问用shell如何实现?
#要求总结:
#1 合并相同的第一列数据,并且计算第三列和
#2 第二列只保留第一次出现
#3 第一列顺序不变
下面是用awk进行实现的,觉得很经典
|