Visit Our UNIX and Linux User Community


Find sum of 4 columns


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Find sum of 4 columns
# 1  
Old 10-21-2009
Find sum of 4 columns

Hi,

I have a file GLDATA with the fields like below.
200909,20
200908,22
200907,19
200906,25
200905,20
200904,21

I want to write a code to sum up the second column for values from 200909 to 200906, and 200908 to 200805, and 200907 to 200904, and so on. It can simply display it on the console for now.

Can it be done in very simple command instead of big script?

Regards,
Venkat
# 2  
Old 10-21-2009
Code:
awk -F, '{A[NR]=$2; print sum+=$2-A[NR-4]; delete A[NR-4]}' GLDATA

Code:
20
42
61
86
86
85

# 3  
Old 10-21-2009
Different solution, different results Smilie
Code:
awk -F, '{a[$1]=$2}END{for(i in a){x=(((i-3) in a)?(i-3):(((i-2) in a)?(i-2):(((i-1) in a)?(i-1):"")));printf "%-15s= %s\n",(x)?i"-"x:i,a[i]+a[(i-1)]+a[(i-2)]}}' file
200904         = 21
200905-200902  = 41
200906-200903  = 66
200907-200904  = 64
200908-200905  = 66
200909-200906  = 61

# 4  
Old 10-22-2009
Indeed Smilie. It depends if e.g. 2009-2006 means including 2006 or not.
# 5  
Old 10-23-2009
Code:
my @tmp=<DATA>;
my @t1 = map {chomp;my @tmp=split(",",$_);$tmp[1]} @tmp;
for(my $i=0;$i<=$#t1-3;$i++){
  print $t1[$i]+$t1[$i+1]+$t1[$i+2]+$t1[$i+3],"\n";
}
__DATA__
200909,20
200908,22
200907,19
200906,25
200905,20
200904,21


Previous Thread | Next Thread
Test Your Knowledge in Computers #960
Difficulty: Medium
The WannaCry ransomware attack was a May 2017 worldwide cyberattack by the WannaCry ransomware cryptoworm, which targeted computers running Windows by encrypting data and demanding ransom payments in the Bitcoin.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Group by columns and add sum in new columns

Dear Experts, I have input file which is comma separated, has 4 columns like below, BRAND,COUNTRY,MODEL,COUNT NIKE,USA,DUMMY,5 NIKE,USA,ORIGINAL,10 PUMA,FRANCE,DUMMY,20 PUMA,FRANCE,ORIGINAL,15 ADIDAS,ITALY,DUMMY,50 ADIDAS,ITALY,ORIGINAL,50 SPIKE,CHINA,DUMMY,1O And expected output add... (2 Replies)
Discussion started by: ricky1991
2 Replies

2. Shell Programming and Scripting

Sum of Columns

HI Guys, I gave Input file F.Txt ID H1 H2 H3 H4 H5 A 5 6 7 8 9 B 4 65 4 4 7 C 4 4 4 4 4 D 4 4 4 4 4 Output :- ID H1 H2 H3 H4 H5 Total 17 79 19 20 24 Sum of Each Columns (8 Replies)
Discussion started by: pareshkp
8 Replies

3. Shell Programming and Scripting

Evaluate 2 columns, add sum IF two columns satisfy the condition

HI All, I'm embedding SQL query in Script which gives following output: Assignee Group Total ABC Group1 17 PQR Group2 5 PQR Group3 6 XYZ Group1 10 XYZ Group3 5 I have saved the above output in a file. How do i sum up the contents of this output so as to get following output: ... (4 Replies)
Discussion started by: Khushbu
4 Replies

4. Shell Programming and Scripting

Sum of all columns

Hi Friends, I have a file with fields separated with comma. How to print sum of each field of the file? Eg: input file 1,3,6,7 2,1,2,1 0,1,1,0 I want to sum each field separately. Output file 3,5,9,8 Thanks, Suresh (2 Replies)
Discussion started by: suresh3566
2 Replies

5. Shell Programming and Scripting

Get the SUM of TWO columns SEPARATELY by doing GROUP BY on other columns

My File looks like: "|" -> Field separator A|B|C|100|1000 D|E|F|1|2 G|H|I|0|7 D|E|F|1|2 A|B|C|10|10000 G|H|I|0|7 A|B|C|1|100 D|E|F|1|2 I need to do a SUM on Col. 5 and Col.6 by grouping on Col 1,2 & 3 My expected output is: A|B|C|111|11100 (2 Replies)
Discussion started by: machomaddy
2 Replies

6. Shell Programming and Scripting

Evaluate 2 columns, add sum IF two columns match on two rows

Hi all, I know this sounds suspiciously like a homework course; but, it is not. My goal is to take a file, and match my "ID" column to the "Date" column, if those conditions are true, add the total number of minutes worked and place it in this file, while not printing the original rows that I... (6 Replies)
Discussion started by: mtucker6784
6 Replies

7. Shell Programming and Scripting

Sum columns

Hi All, I'm new to this forum. So please be patience with me! :) I have a file that looks like this (all rows have the same number of columns): 19 20 30 15 17 38 51 60 74 85 96 07 .... 10 20 44 59 39 88 13 77 30 10 11 12 .... . . . I want to sum the value of first field to all the... (2 Replies)
Discussion started by: Aderson Nascime
2 Replies

8. Shell Programming and Scripting

Sum of three columns - in 4N columns file

Hi All, happy new year. I have a file with 4xN columns like 0.0000e+00 0.0000e+00 7.199E+07 7.123E+07 6.976E+07 6.482E+07 5.256E+07 2.523E+07 0.0000e+00 0.0000e+00 8.641E+07 8.550E+07 8.373E+07 7.780E+07 6.309E+07 3.028E+07... (8 Replies)
Discussion started by: f_o_555
8 Replies

9. Shell Programming and Scripting

sum of three columns

Hi All, I have like this M17XX-050-01 0100000000 QQSSS 0.0000e+00 1.712E+06 1.255E+07 0.0000e+00 0.0000e+00 1.722E+06 1.263E+07 0.0000e+00 ... 0.0000e+00 1.204E+06 8.829E+06 0.0000e+00 M17XX-050-01 0100000000 WWSSS 0.0000e+00 7.564E+03 1.165E+01 0.0000e+00... (6 Replies)
Discussion started by: f_o_555
6 Replies

10. Shell Programming and Scripting

Find percent between sum of 2 columns awk help

Hi I'm new to this forum and I'm a beginner when it comes to shell and awk programming. But I have the following problem: I have 5 csv files (data1.csv, data2.csv, etc.) and need to calculate the average between the total sum of the 1st and 7 column. csv example:... (3 Replies)
Discussion started by: sapo51
3 Replies

Featured Tech Videos