AWK는 두 행마다 합계를 냅니다.

AWK는 두 행마다 합계를 냅니다.

파일 끝까지 두 줄을 합산하고 싶습니다.

1 2 3 4
0 1 2 3
0 4 5 6
2 3 5 6

출력은

1 3 5 7
2 7 10 12

다음을 시도했지만 첫 번째 행에서만 작동합니다.

awk '{s+=$1}NR%2==0{print s;s=0}' testfileForSum.txt 

답변1

한 가지 방법은 다음과 같습니다 awk.

awk '
  NR%2 { split($0, a) ; next }
  { for (i=1; i<=NF; i++) printf " %d", a[i]+$i ; print "" }
'

설명: 짝수( NR%2) 행의 경우 배열에서 현재 행의 필드를 기억합니다 a. 다른(홀수) 행의 경우 필드를 반복하고 a[i]해당 기억된 필드와 현재 필드의 합계를 인쇄합니다.$i

관련 정보