Avg using awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Avg using awk
# 1  
Old 03-12-2013
Avg using awk

Coins:

Code:
gold 1 1986 USA American Eagle
gold 1 1908 Austria-Hungary Franz Josef 100 Korona
silver 10 1981 USA ingot
gold 1 1984 Switzerland ingot
gold 1 1979 RSA Krugerrand
gold 0.5 1981 RSA Krugerrand
gold 0.1 1986 PRC Panda
silver 1 1986 USA Liberty dollar
gold 0.25 1986 USA Liberty 5-dollar piece
silver 0.5 1986 USA Liberty 50-cent piece
silver 1 1987 USA Constitution dollar
gold 0.25 1987 USA Constitution 5-dollar piece
gold 1 1988 Canada Maple Leaf

awk '/^gold/ {gold +=$2} END {print gold/NR}' coins

I need the Avg. weight of gold, when i used the above code. Im getting wrong value.

The total weight is 6.1 and column is 9. I need the output of 0.6777 but im getting 0.435

Help me on this Smilie

Last edited by radoulov; 03-12-2013 at 07:15 AM..
# 2  
Old 03-12-2013
Quote:
Originally Posted by Ramesh M
Code:
awk '/^gold/ {gold +=$2} END {print gold/NR}' coins

try

Code:
awk '/^gold/ {a++;gold+=$2} END {print gold/a}' coins

# 3  
Old 03-12-2013
Ya its working...

NR is number of records in the input file right, could you tell me why NR isn't working here?
# 4  
Old 03-12-2013
Quote:
Originally Posted by Ramesh M
Ya its working...

NR is number of records in the input file right, could you tell me why NR isn't working here?
Yes. NR is number of records. Which also includes lines which don't have gold in it Smilie

So if you want to check the avg then you should count how many times gold is appeared in the record. That's why NR won't work here.

Regards

pamu
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

Sybase ASE - AVG Function Error

Hi Team - I am using Sybase ASE 15.7 version. Below query is throwing an error stating Error : incorrect syntax near the keyword 'OVER' SELECT EMPLOYEE_ID , EMPLOYEE , Department, CAST( Salary as DECIMAL( 10, 2 ) ) AS Salary CAST(AVG( Salary) OVER ( PARTITION... (3 Replies)
Discussion started by: Perlbaby
3 Replies

2. Shell Programming and Scripting

Avg calculation for top 5 records

Hi, we have a file which contains Area, Country & Rank fields. AREA,COUNTRY,RANK A,MX,1 A,MX,2 A,MX,4 A,MX,6 A,MX,3 A,MX,8 A,IN,7 A,IN,5 A,IN,2 B,CN,6 B,CN,2 B,CN,7 B,CN,0 -------- -------- (1 Reply)
Discussion started by: JSKOBS
1 Replies

3. Shell Programming and Scripting

awk to find the avg of every 3 rows but only show last result?

Hi, I've got as far as this: awk '{sum+=$1}(NR%3==1){avg=sum/3; print avg}' input.txt Input it: 0.1 txt txt 0.2 txt txt 0.3 txt txt So, the I get the results: 0.0333333 0.133333 0.2 (8 Replies)
Discussion started by: JohnnyEnglish
8 Replies

4. Shell Programming and Scripting

Get the min avg and max with awk

aaa: 3 ms aaa: 2 ms aaa: 5 ms aaa: 10 ms .......... to get the 3 2 5 10 ...'s min avg and max something like min: 2 ms avg: 5 ms max: 10 ms (2 Replies)
Discussion started by: yanglei_fage
2 Replies

5. AIX

Nmon max and avg for cpu and memory

Hi All, Anyone know how to capture the nmon avg and max cpu and memory for one of the AIX server for Monthly Utilization Report purposes ? Thanks. ---------- Post updated at 05:18 AM ---------- Previous update was at 05:07 AM ---------- if possible use shell script to count or sum... (6 Replies)
Discussion started by: ckwan
6 Replies

6. Shell Programming and Scripting

Help in finding & comparing avg file size

I have some files in a directory with two different extensions which get created everyday. Can you please help me out in getting the average file size for both these extensions and checking it with the last two file sizes of the same file extension ? To be more clear.. Lets say I have 10 files... (1 Reply)
Discussion started by: kiran1112
1 Replies

7. Shell Programming and Scripting

Extracting avg latency value from ping output

Hello Everyone, Below is the output of the ping from a router. Please help with a script which extract the Avg value from the o/p (Avg here = 4, as depicted below) and put the value into a new file. Will appreciate your help dearly Router#ping 36.36.36.36 Type escape sequence to abort.... (2 Replies)
Discussion started by: sanjugab
2 Replies

8. Shell Programming and Scripting

Find avg using awk

Hi, i need some help plz... The file data.txt contains: code of student,surname and name,code of lesson,grade of lesson.The number of lessons of each student is not the same. 25,Jackson Steve,12,4,34,2,65,2 29,Jordan Mary,13,6,23,8,56,4,34,2 04,Leven Kate,14,6,15,6,26,4 34,Owen... (10 Replies)
Discussion started by: Steve_09
10 Replies

9. UNIX for Advanced & Expert Users

ps avg | grep ? filter the desired out put.

Hi Folk, Following is the command I used to get data related to the DataFlowEngine. I wanted to know the % usage of cpu and memory. ps avg | grep Data This command will show the processes with its PID as : PID TTY STAT TIME PGIN SIZE RSS LIM TSIZ TRS %CPU %MEM COMMAND ... (1 Reply)
Discussion started by: varungupta
1 Replies

10. SuSE

sles 9 - sudden high load avg

Hi Running SLES 9(4) on PE 1950. I saw yesterday that the load average on the machine was 54 and keeping around that number. Later I found there were 54 /USR/SBIN/CRON processes running in the system. I tried to kill using killall, kill -9 pid but they did not get killed. I also tried stopping... (1 Reply)
Discussion started by: upengan78
1 Replies
Login or Register to Ask a Question