home *** CD-ROM | disk | FTP | other *** search
/ The UNIX CD Bookshelf / OREILLY_TUCB_UNIX_CD.iso / upt / examples / LINUX / ARCHIVE / ADDUP.Z / ADDUP / sbin / addup
Encoding:
Text File  |  1993-01-01  |  960 b   |  27 lines

  1. #! /bin/sh
  2. #
  3. ###    addup - add up all numbers in a certain column of file(s) or stdin
  4. ###    Usage: addup colnum [files]
  5. ##
  6. ##    WHEN I HAVE A FILE LIKE THIS:
  7. ##    sleep            tcomm    __         0.08 secs Thu Mar 27 10:23
  8. ##    date             tcomm    __         0.08 secs Thu Mar 27 10:23
  9. ##    tail             tcomm    __         0.09 secs Thu Mar 27 10:23
  10. ##    pwho             tcomm    __         0.30 secs Thu Mar 27 10:23
  11. ##        ...
  12. ##    I OFTEN WANT A TOTAL OF THE ENTRIES IN ONE OF THE COLUMNS.
  13. ##    WITH THIS FILE, I MIGHT WANT A TOTAL OF ALL ENTRIES IN COLUMN 4.
  14. ##
  15. ##    IT'S EASY TO WRITE A LITTLE awk PROGRAM TO DO IT, BUT I DO IT
  16. ##    SO OFTEN THAT I PUT THE awk PROGRAM HERE.
  17. ##
  18. ##    THE FIRST ARGUMENT SHOULD BE THE COLUMN NUMBER TO SUM.
  19.  
  20. # GRAB colnum; LEAVE FILENAMES IN ${1+"$@"} (WORK AROUND sh PROBLEMS)
  21. case "$1" in
  22. [1-9]*) colnum="$1"; shift;;
  23. *) echo "Usage: `basename $0` colnum [files]" 1>&2; exit 1
  24. esac
  25.  
  26. awk "{sum += \$$colnum} END{print sum}" ${1+"$@"}
  27.