UNIX / Linux: awk Add Two Numbers

in Categories last updated October 2, 2010

How do I add two numbers using awk? How do I calculate all incoming number stream on fly and display the total using awk?

AWK is a programming language designed for processing text-based data, either in files or data streams. Calculating incoming stream is not a big deal with awk. You can add two numbers as follows:

# add 2 + 5
echo |awk '{ print 2+3 }'
# add incoming 10 + 10
echo 10  | awk '{ print $1 + 10}'

Create a text file called numbers as follows /tmp/numbers:


To add numbers, enter:

awk '{total += $1}END{ print total}'  /tmp/numbers

Sample outputs:


Use the ps command output (stream) to calculate total size of php-cgi process using awk, enter:

ps -aylC php-cgi  | grep php-cgi | awk '{total += $8}END{size=  total / 1024; printf "php-cgi total size %.2f MB\n", size}'

Sample outputs:

php-cgi total size 2004.21 MB

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

Share this on (or read 0 comments/add one below):