0

以下のパターンのファイルがあります

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 スクリプトを記述できるかどうかを提案してください。

4

2 に答える 2

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
于 2013-09-06T10:06:43.130 に答える