: ########################################################################## # Shellscript: top10 - show top 10 directory users # Version : 0.1 (beta) # Author : Heiner Steven (heiner.steven@odn.de) # Date : 10/21/94 # Category : System Administration, File Utilities # SCCS-Id. : $Id: top10,v 1.1.1.1 1999/06/15 19:29:05 heiner Exp $ ########################################################################## # Description # ########################################################################## PN=`basename $0` # program name VER='0.1 (beta)' MailDir=/usr/spool/mail Usage () { echo "$PN - show top 10 directory users, $VER (stv '94) usage: $PN [directory ...] If no directory is specified, $MailDir is the default." >&2 exit 1 } [ $# -gt 0 -a "$1" = "-h" ] && Usage # set the default directory [ $# -lt 1 ] && set $MailDir ls -l "$@" | awk ' (NF == 8) { # example of a line: # -rw------- 1 andrea 286282 Oct 21 11:24 andrea Usage [$3] += $4 # used bytes, username is index Count [$3]++ TotalBytes += $4 TotalFiles++ } END { for ( user in Usage ) { TotalUsers++; printf "%-15s %12d (%d files, %2d%%)\n", \ user, Usage [user], Count [user], \ Usage [user] * 100 / TotalBytes } #printf "%d users, %d files, %d KB\n", \ # TotalUsers, TotalFiles, TotalBytes/1024 } ' | sort -nr +1 | head exit 0