여러 배열에 숫자를 추가하는 방법

여러 배열에 숫자를 추가하는 방법

첫 번째 열에 "식별자" 번호가 있는 많은 배열이 포함된 파일이 있습니다. 따라서 해당 "식별자"를 기반으로 두 번째 열의 숫자를 합산해야 합니다.

입력 예:

1: 6.1703
44 10
46 18.3
44 45.9
46 3.9

2: 6.1932
44 11.2
46 4.3
44 15.6319
46 20.12

3: 16.5
45 22.8
45 18.3
46 31

출력은 다음과 같아야 합니다.

1: 6.1703
44 55.9
46 22.2

2: 6.1932
44 26.8319
46 24.42

3: 16.5
45 41.1
46 31

답변1

이것이 일을 할 것이다

awk '
    /^[[:blank:]]*$/{for (k in a) print k, a[k]; delete a; print ""; next}
    /:/{print; next}
    {a[$1] += $2}
    END {for (k in a) print k, a[k]}
    ' data

1: 6.1703
44 55.9
46 22.2

2: 6.1932
44 26.8319
46 24.42

3: 16.5
45 41.1
46 31

관련 정보