|
|
- #!/usr/bin/env bash
-
- # Optionally specify number of lines to show, defaulting to 10:
- TOSHOW=10
- CASEOPT=""
-
- while getopts ":in:" opt; do
- case $opt in
- i)
- CASEOPT="-i"
- ;;
- n)
- TOSHOW=$OPTARG
- ;;
- \?)
- echo "Invalid option: -$OPTARG" >&2
- exit 1
- ;;
- :)
- echo "Option -$OPTARG requires an argument." >&2
- exit 1
- ;;
- esac
- done
-
- # sort and then uniqify STDIN,
- # sort numerically on the first field,
- # chop off everything but $TOSHOW lines of input
-
- sort < /dev/stdin | uniq -c $CASEOPT | sort -k1 -nr | head -$TOSHOW
|