파일의 라인 집계

파일의 라인 집계

다음과 같은 데이터가 포함된 abc.csv 파일이 있습니다.

abc.csv:

A B C D
a x p 1
a x p 6
b y q 5
b y q 3
a x p 2
a y q 7

awk출력 파일을 얻으 려면 스크립트를 작성해야 합니다 . 이거 하나로 할 수 있나요 awk?

output.csv

a x p 9
b y q 8

상황:

  • ABCD는 참조용으로만 사용되는 파일 헤더입니다.
  • 출력 파일에 고유한 열 A가 있도록 A 열을 집계해야 합니다.
  • B열과 C열에서 비슷한 값을 가진 행만 집계하고, 그렇지 않으면 행을 무시합니다. 예를 들어 행 6을 무시합니다.
  • 각 행을 반복하면서 D열 값을 추가합니다.

답변1

Awk해결책:

awk '{ k = $1 OFS $2 OFS $3 }
     { sum[k] += $4; count[k]++ }
     END{ for (i in sum) if (count[i] > 1) print i, sum[i] }' abc.csv

산출:

a x p 9
b y q 8

관련 정보