kelly
kelly

Reputation: 91

How to add every other columns together

I have a file (72 columns totally) and would like to add every other columns starting from column4,

infile

20170101 1 1 1.5 2 2 3 3  
20170101 2 1 2 2 4 3 4
20170101 3 1 5 2 3 3 6

The output should be

20170101 1  6.5
20170101 2 10
20170101 3 14

this is what I have, but it will not work.

 awk '{for(i=4;i<=NF;i+=2) sum[i]+=$i; print}' infile

Thank you for help.

Upvotes: 1

Views: 45

Answers (1)

RavinderSingh13
RavinderSingh13

Reputation: 133538

Following simple awk could help you on this.

awk '{for(i=4;i<=NF;i+=2){sum+=$i};print $1,$2,sum;sum=0}'   Input_file

Adding a non-one liner form of solution too now.

awk '
{
  for(i=4;i<=NF;i+=2){  sum+=$i  };
  print $1,$2,sum;
  sum=0
}
'   Input_file

Upvotes: 1

Related Questions