숫자 테이블이 포함된 파일이 있습니다. 첫 번째 행은 머리글 행입니다. awk를 사용하여 각 열의 합계를 계산하고 각 열의 합계와 열 이름을 인쇄하고 싶습니다.
어떻게 해야 합니까?
답변1
각 행에 동일한 수의 필드(열)가 있다고 가정합니다.
awk '
NR==1 { for (i=1; i<=NF; i++) header[i]=$i; next; }
{ for (i=1; i<=NF; i++) total[i] += $i; }
END { for (i=1; i<=NF; i++) print header[i] "=" total[i]+0 }
'
입력 예:
red green blue
1 2 4
8 16 32
64 128 256
해당 출력:
red=73
green=146
blue=292