soma dos números localizados em linhas diferentes usando o awk

0

As linhas a seguir somam os números localizados na linha 2 e 3, linha 4 e 5, linha 6 e linha 7 e assim por diante (assim, soma de forma consecutiva).

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

Bem, eu estou tentando "generalizar" o código anterior, então eu preciso fazer algo para somar qualquer linha, por exemplo, o que eu preciso fazer para obter uma soma como esta:

  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
    
por alloppp 01.06.2016 / 17:54

1 resposta

0

Se você quiser especificar os números de coluna relevantes manualmente e, em seguida, usar apenas awk para imprimir duas somas no final, faça o seguinte:

awk 'NR == 2 || NR == 3 || ... {sum1 += $1}
     NR == 1 || NR == 11 || ... {sum2 += $1}
     END {print sum1; print sum2}' file
    
por 25.06.2016 / 02:38