Sponsored Content
Top Forums Shell Programming and Scripting Calculating average from files Post 302960712 by avina on Thursday 19th of November 2015 12:57:51 AM
Old 11-19-2015
Calculating average from files

I have some files with the following contents.I would like to calculate average of fifth column. How can I do this with awk?

Code:
file1

cat 95.9    152 78.0    17.9
rat 67.1    153 36.5    30.6
dog 81.4    154 68.1    13.3
dog 92.0    155 55.5    36.5
rat 73.8    156 23.9    49.9
file2

rat    79.0     157  64.3   14.7
fish   67.7     158  4.9    62.8
goat   90.2     159 80.7    9.5
dog    130.8    160 25.1    105.7

desired output

cat    17.9
rat    31.73
dog    51.83
fish   62.8
goat   9.5

I used the following code to calculate average. But the output is wrong.
Code:
awk '{a[$1]+=$5}END {for (i in a) {print i,a[i];Total+=a[i]}; print "average - ", Total/NR}' *

Code:
rat 95.2
goat 9.5
fish 62.8
cat 17.9
dog 155.5
average -  37.8778

This User Gave Thanks to avina For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Calculating the average

This is the cronjob ---------------------- root@a7germ:/home/paxtemp > crontab -l|grep test 57 * * * * /home/paxtemp/test_1.sh 0,5,10,15,20,25,30,35,40,45,50,55 * * * * /home/paxtemp/test.sh root@a7germ:/home/paxtemp > This is the contents of test.sh script... (2 Replies)
Discussion started by: kekanap
2 Replies

2. UNIX for Dummies Questions & Answers

Calculating the Number of Rows and Average

Hi All I like to know how can we calculate the number of rows and the average of the values present in the file. I will not know what will be the rowcount, which will be dynamic in nature of the file. eg. 29 33 48 30 28 (6 Replies)
Discussion started by: pk_eee
6 Replies

3. UNIX for Dummies Questions & Answers

Calculating average

Hi, i have 12 float variables in a bash file and i want to calculate the average of them. Can any body help? (6 Replies)
Discussion started by: limadario
6 Replies

4. UNIX for Dummies Questions & Answers

Calculating weighted average

Dear all, i have 200 values in a file. How can i calculate a weighted average and output into a new file avg.dat? INPUT: file1.dat 1.3453 2.434 2.345 ..... OUTPUT: avg.dat file1: 1.762 Thanks. Po (3 Replies)
Discussion started by: chen.xiao.po
3 Replies

5. Shell Programming and Scripting

Calculating average of 100 different files of same size

Hey guys..... I have many files (lets say 100 or more) of same size, and I want to create a new output file and calculate the average of first row fifth column in all files and print it in first row of output file, then 2nd row fifth col in all 100 files and print it in 2nd row of output... (1 Reply)
Discussion started by: CAch
1 Replies

6. Shell Programming and Scripting

Calculating average for every Nth line in the Nth column

Is there an awk script that can easily perform the following operation? I have a data file that is in the format of 1944-12,5.6 1945-01,9.8 1945-02,6.7 1945-03,9.3 1945-04,5.9 1945-05,0.7 1945-06,0.0 1945-07,0.0 1945-08,0.0 1945-09,0.0 1945-10,0.2 1945-11,10.5 1945-12,22.3... (3 Replies)
Discussion started by: ncwxpanther
3 Replies

7. Shell Programming and Scripting

Calculating average with awk

I need to find the average from a file like: data => BW:123 M:30 RTD:0 1 0 1 0 0 1 1 1 1 0 0 1 1 0' data => BW:123 N:30 RTD:0 1 0 1 0 0 1 1 1 1 0 0 1 1 0' data => BW:123 N:30 RTD:0 1 0 1 0 0 1 1 1 1 0 0 1 1 0' data => BW:123 N:30 RTD:0 1 0 1 0 0 1 1 1 1 0 0 1 1 0' data => BW:123 N:30 RTD:0 1... (4 Replies)
Discussion started by: Slagle
4 Replies

8. Shell Programming and Scripting

Calculating the average of scores

Hi I have 2 files file1 aac 23 25 aac 87 90 aac 33 67 file2 23 0.9 24 0.8 25 0.4 ........ 67 0.55 ........ I want to get output as (11 Replies)
Discussion started by: anurupa777
11 Replies

9. UNIX for Dummies Questions & Answers

Calculating average

Hi I have file like below 111,victor,48,12,36 342,Peter,54,58,30 476,Scott,25,36,48 567,Patty,74,17,95 I have written below code to calcualte avereage for every id Victor = 48+12+36/3 #!/bin/ksh /usr/xpg4/bin/awk ' BEGIN {FS=","} {sum=0; n=0;i=3 (1 Reply)
Discussion started by: stew
1 Replies

10. Shell Programming and Scripting

Python Script Calculating Average

Can anyone explain what each line of the code does and how it works? I have no experience with python so I am not sure how the arrays and such work. I found this code while looking through the forums. f = open("exams","r") l = f.readline() while l: l = l.split(" ") values = l ... (22 Replies)
Discussion started by: totoro125
22 Replies
IGAWK(1)							 Utility Commands							  IGAWK(1)

NAME
igawk - gawk with include files SYNOPSIS
igawk [ all gawk options ] -f program-file [ -- ] file ... igawk [ all gawk options ] [ -- ] program-text file ... DESCRIPTION
Igawk is a simple shell script that adds the ability to have ``include files'' to gawk(1). AWK programs for igawk are the same as for gawk, except that, in addition, you may have lines like @include getopt.awk in your program to include the file getopt.awk from either the current directory or one of the other directories in the search path. OPTIONS
See gawk(1) for a full description of the AWK language and the options that gawk supports. EXAMPLES
cat << EOF > test.awk @include getopt.awk BEGIN { while (getopt(ARGC, ARGV, "am:q") != -1) ... } EOF igawk -f test.awk SEE ALSO
gawk(1) Effective AWK Programming, Edition 1.0, published by the Free Software Foundation, 1995. AUTHOR
Arnold Robbins (arnold@skeeve.com). Free Software Foundation Nov 3 1999 IGAWK(1)
All times are GMT -4. The time now is 08:32 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy