Unix文件处理:如何根据另一列中的值对列中的值求和
我遇到了一个超出我在Unix文件处理:如何根据另一列中的值对列中的值求和,unix,Unix,我遇到了一个超出我在UNIX中基本知识的问题。 我有一个以下格式的文件: A AA 234 B BB 5 C CC 56 C CA 92 B CB 35 C CD 36 我想根据列表中第一列和第二列的值,对第三列的值求和 我期待以下格式的结果 A AA 234 B BB,CB 40 C CC,CA,CD 184 请帮助我使用UNIX函数获得上述结果。您可以在对文件进行排序后使用以下awk命令: sort agglo.tx
UNIX
中基本知识的问题。
我有一个以下格式的文件:
A AA 234
B BB 5
C CC 56
C CA 92
B CB 35
C CD 36
我想根据列表中第一列和第二列的值,对第三列的值求和
我期待以下格式的结果
A AA 234
B BB,CB 40
C CC,CA,CD 184
请帮助我使用UNIX函数获得上述结果。您可以在对文件进行排序后使用以下
awk
命令:
sort agglo.txt | awk '{if(prev==$1){sum+=$3; buffer=buffer","$2;}else{print prev" "buffer" "sum; prev=$1; sum=$3; buffer=$2}}END{print prev" "buffer" "sum;}'
其中,aggo.txt
是您的输入文件
这将为您的输入文件提供以下输入:
A AA 234
B BB 5
C CC 56
C CA 92
B CB 35
C CD 36