Awk help needed to calculate total


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Awk help needed to calculate total
# 1  
Old 08-21-2008
Awk help needed to calculate total

Hi all,

I have a flat file like

10 steven
25 mike
47 Charles
127 Nancy
34 steven
23 mike
67 Charles
7761 Nancy
8 steven
54 mike
88 Charles
1267 Nancy

I need to calculate the total of steven and all the members , for this I am using like

grep "`sed -n 1p patterns.txt`" temp.log | awk '{x+=$1}END{print "Total "x}'

where patterns.txt contains
steven
mike
Charles
Nancy

I think i'm using wrong method, is there any other method is available which can do this job very easily.

Regards,
senthilkumar ak
# 2  
Old 08-21-2008
Code:
#  awk '{t[$2]+=$1}END{for (i in t){print i,t[i]}}' file
Nancy 9155
Charles 202
steven 52
mike 102

# 3  
Old 08-21-2008
Quote:
Originally Posted by Tytalus
Code:
#  awk '{t[$2]+=$1}END{for (i in t){print i,t[i]}}' file
Nancy 9155
Charles 202
steven 52
mike 102

you can't get simpler than this Smilie
great work..
# 4  
Old 08-21-2008
first sort them by the second field.
then do

nawk 'NR==1{v=$2;Total=0}$1!=v{print v" Total=" Total} ;Total=0;v=$2}$2==v{Total=Total+$1}' input > Total

This should do it.

Regards
# 5  
Old 08-21-2008
Quote:
Originally Posted by Tytalus
Code:
#  awk '{t[$2]+=$1}END{for (i in t){print i,t[i]}}' file
Nancy 9155
Charles 202
steven 52
mike 102

Dear Tytalus,

how does this code know the value of i in the END braces.. is it by default ?

Regards
# 6  
Old 08-21-2008
Quote:
Originally Posted by yahyaaa
Dear Tytalus,

how does this code know the value of i in the END braces.. is it by default ?

Regards
here t is a array so i reads from array t till it reaches the end..
so i don't think you need a value for i..
its called iterating over all the indices of an array..
Smilie
# 7  
Old 08-21-2008
Thank you very very much.. Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Calculate total memory using free -m

Hi I am trying to calculate memory used by Linux System free -m total used free shared buffers cached Mem: 32109 31010 1099 0 3600 7287 -/+ buffers/cache: 20121 11987 Swap: 10239 1282 8957 Now according to my requirement Im calculating memory using below cmd free -m | awk 'NR==3{printf... (2 Replies)
Discussion started by: sam@sam
2 Replies

2. Shell Programming and Scripting

awk to calculate total and percent off field in file

Trying to use awk to print the lines in file that have either REF or SNV in $3, add a header line, sort by $4 in numerical order. The below code does that already, but where I am stuck is on the last part where the total lines are counted and printed under Total_Targets, under Targets_less_than is... (4 Replies)
Discussion started by: cmccabe
4 Replies

3. Shell Programming and Scripting

Calculate the total

Hi All , I have the following script as below , I tried to modify to meet the requirement , could someone help ? very thanks ================================================================================================ while read STR NAME; do Total=0 MyString="$STR" GetData () {... (18 Replies)
Discussion started by: ust3
18 Replies

4. Shell Programming and Scripting

Calculate total value from a row

HI I have a file # cat marks.txt MARKS LIST 2013 Name english french chinese latin total_marks wer 34 45 67 23 wqa 12 39 10 56 wsy 23 90 23 78 Now i need to find the total marks of each student using... (11 Replies)
Discussion started by: Priya Amaresh
11 Replies

5. Shell Programming and Scripting

Calculate total of log by hour

Hi, Just wondering, is there anyway I can get the total of logs generated by hours ? Let say I have these logs, Sep 23 04:48:43 hsbcufs: NOTICE: realloccg /: file system full Sep 23 04:48:47 hsbcufs: NOTICE: alloc: /: file system full Sep 23 04:48:51 hsbcufs: NOTICE: realloccg /: file... (14 Replies)
Discussion started by: dehetoxic
14 Replies

6. Shell Programming and Scripting

Help with calculate total sum of same data problem

Long list of input file: AGDRE1 0.1005449050 AGDRE1 2.1005443435 AGDRE1 1.2005449050 AGDRE1 5.1005487870 AASFV3 50.456304789 AASFV3 2.3659706549 AASFV3 6.3489807860 AASFV3 3.0089890148 RTRTRS 5.6546403546 . . Desired output file: AGDRE1 8.5021829410 AASFV3 62.180245240... (2 Replies)
Discussion started by: perl_beginner
2 Replies

7. Shell Programming and Scripting

Calculate total space, total used space and total free space in filesystem names matching keyword

Good afternoon! Im new at scripting and Im trying to write a script to calculate total space, total used space and total free space in filesystem names matching a keyword (in this one we will use keyword virginia). Please dont be mean or harsh, like I said Im new and trying my best. Scripting... (4 Replies)
Discussion started by: bigben1220
4 Replies

8. Shell Programming and Scripting

Calculate total sum from a file

The file content is dynamic and using this format: name1 number1 name2 number2 name3 number3 name4 number4 .................... Need a smooth way to calculate the sum of all the numbers in that file (number1 + number2 + number3 + number4........ = total ) (11 Replies)
Discussion started by: TehOne
11 Replies

9. Shell Programming and Scripting

awk script to calculate total

Hi First field is the Record Type. A Record Type 5 can have multiple Record Type 6's before another Record Type 5 appears. I want to calculate the total of fields at position 8-11 on Record type 6 when Record Type 5 has a field at position 11-14 equals to '2222'. then it should delete the lines... (2 Replies)
Discussion started by: appsguy616
2 Replies
Login or Register to Ask a Question