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
Ns_Pathname(3aolserver) 				   AOLserver Library Procedures 				   Ns_Pathname(3aolserver)

__________________________________________________________________________________________________________________________________________________

NAME
Ns_HomePath, Ns_LibPath, Ns_MakePath, Ns_ModulePath, Ns_NormalizePath, Ns_PathIsAbsolute - Pathname procedures SYNOPSIS
#include "ns.h" char * Ns_HomePath(Ns_DString *dest, ...) char * Ns_LibPath(Ns_DString *dest, ...) char * Ns_MakePath(Ns_DString *dest, ...) char * Ns_ModulePath(Ns_DString *dest, char *server, char *module, ...) char * Ns_NormalizePath(Ns_DString *dsPtr, char *path) int Ns_PathIsAbsolute(char *path) _________________________________________________________________ DESCRIPTION
These functions operate on file pathnames. They work with Unix and Windows pathnames on their respective hosts. Ns_HomePath(dest, ...) Construct a path name relative to the home directory of the server. The full path is constructed by appending the library directory followed by each of the variable number of string elements after the dest argument. The elements will be separated by a / charac- ter. The list must be terminated with a NULL string. Ns_LibPath(dest, ...) Construct a path name relative to the library directory of the server, normally the lib/ subdirectory of the home directory. The full path is constructed by appending the library directory followed by each of the variable number of string elements after the dest argument. The elements will be separated by a / character. The list must be terminated with a NULL string. Ns_MakePath(dest, ...) Construct a path name from a list of path elements. The Ns_MakePath function constructs a path name by appending a list of path ele- ments to the given Ns_DString. The path elements are separated by single slashes, and the resulting path name is appended to the given Ns_DString. The last argument needs to be NULL to indicate the end of the argument list. Ns_ModulePath(dest, char *server, char *module, ...) Construct a server and/or module specific pathname relative to the server home directory. The path in constructed by first append- ing the server home directory. Next, if the server argument is not NULL, "server/servere appended to the destination and if the module argument is not NULL, "module/module" will be appended. Finally, all other string elements, if any, will be appended to the destination with separating / characters. The list must be terminated with a NULL string. Ns_NormalizePath(dsPtr, path) Normalize a path name. This function removes any extraneous slashes from the path and resolves "." and ".." references. The result is appended to the given Ns_DString. The following code appends "/dog" to the Ns_DString: Ns_NormalizePath(&ds, "/dog/cat/../../rat/../../dog//mouse/.."); Ns_PathIsAbsolute(path) Check for an absolute path name. Return NS_TRUE if the path is absolute and NS_FALSE otherwise. Under Unix, an absolute path starts with a "/". On Windows, it starts with a drive letter followed immediately by a ":". SEE ALSO
nsd(1), info(n) KEYWORDS
AOLserver 4.0 Ns_Pathname(3aolserver)
All times are GMT -4. The time now is 08:50 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy