Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

doing math in a bash script.

Posted on 2010-08-27
3
Medium Priority
?
531 Views
Last Modified: 2012-05-10
I'm grepping a file and getting a list of about a thousand numbers that I need to average and total.. The numbers are not big. The numbers I'm trying to add and average will be between 0 and 10000. What's the best way to average and add these numbers in a bash script?  I know I can send the list to a new file and read though it and do the math but I was hoping there might be a way to avoid creating a temp file. Any ideas?
0
Comment
Question by:jjc_mn
3 Comments
 
LVL 3

Accepted Solution

by:
egarciat earned 1600 total points
ID: 33545037
Something like this may help:

#!/bin/bash

SUM=0
ELEMENTS=0
AVG=0

cat myFile | while read line; do
if [ -n "$line" ]; then
let ELEMENTS++;
let SUM=$SUM + $line # let SUM+=$line?? not sure
fi
done

let AVG=$SUM/$ELEMENTS
echo $AVG

Open in new window

0
 
LVL 5

Assisted Solution

by:shajithchandran
shajithchandran earned 400 total points
ID: 33545082
did you try using the built in command expr in the shell
0
 

Author Closing Comment

by:jjc_mn
ID: 33545796
I'll give this a try when I can. Thanks!
0

Featured Post

Free Backup Tool for VMware and Hyper-V

Restore full virtual machine or individual guest files from 19 common file systems directly from the backup file. Schedule VM backups with PowerShell scripts. Set desired time, lean back and let the script to notify you via email upon completion.  

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Recently, an awarded photographer, Selina De Maeyer (http://www.selinademaeyer.com/), completed a photo shoot of a beautiful event (http://www.sintjacobantwerpen.be/verslag-en-fotoreportage-van-de-sacramentsprocessie-door-antwerpen#thumbnails) in An…
Active Directory replication delay is the cause to many problems.  Here is a super easy script to force Active Directory replication to all sites with by using an elevated PowerShell command prompt, and a tool to verify your changes.
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
Suggested Courses
Course of the Month11 days, 10 hours left to enroll

916 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question