我有一个以下模式的文件
LLCMO 101986
ONE 102419
PAZ 10478
ONE 107788
ONE 108377
NXT 11
PORTA 111170
PORTA 112005
PORTA 114075
LLCMO 114198
PORTA 114268
PORTA 119021
PORTA 119406
我想以模式打印此文件,以便根据第1列中的所有者名称添加列的值。
输出应如下所示:
LLCMO 216184
ONE 318584
PAZ 10478
NXT 11
PORTA 570539
请建议是否可以编写awk脚本来查找所需的输出。
答案 0 :(得分:2)
使用awk:
awk '{s[$1]+=$2}END{for (i in s) print i,s[i]}' file
答案 1 :(得分:1)
纯粹的bash非常简单:
#!/bin/bash
declare -A data
while read -r key value; do
(( data[$key]+=value ))
done < file.txt
for curKey in "${!data[@]}"; do
echo "$curKey ${data[$curKey]}"
done