다음 줄은 2행과 3행, 4행과 5행, 6행과 7행 등에 있는 숫자를 합산합니다(따라서 연속 방식으로 합산합니다).
awk ' NR==1{$1=$1; print; next} !(NR%2){split($0,a);print; next} {for(i=1;i<=NF;i++) $i+=a[i]}1' file
음, 이전 코드를 "일반화"하려고 하므로 임의의 행을 합산하기 위해 뭔가를 해야 합니다. 예를 들어 다음과 같은 합계를 얻으려면 어떻게 해야 합니까?
row #2 + row #3 + row #4 + ... + row #10 + row #14 + row #15 + row #19
row #1 + row #11 + row #12 + row #13 + row #16 + ... +row #18 + row #20
답변1
관련 열 번호를 수동으로 지정한 다음 awk
끝에 두 개의 합계를 인쇄하려면 다음을 수행할 수 있습니다.
awk 'NR == 2 || NR == 3 || ... {sum1 += $1}
NR == 1 || NR == 11 || ... {sum2 += $1}
END {print sum1; print sum2}' file