From 78369cc5dacd805db47b2e470eb2b2f431714860 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Thu, 31 Aug 2023 00:38:59 +0200 Subject: Add count utility --- .local/bin/count | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 .local/bin/count diff --git a/.local/bin/count b/.local/bin/count new file mode 100755 index 0000000..cc02a71 --- /dev/null +++ b/.local/bin/count @@ -0,0 +1,44 @@ +#!/bin/sh + +# This program is free software: you can redistribute it and/or modify it under +# the terms of the GNU Affero General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) any +# later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more +# details. + +main() +{ + # Handle opts + while getopts ":h" opt + do + case "$opt" in + h) usage && exit 0 ;; + *) + printf "Invalid option passed: %s\n" "$OPTARG" >&2 + ;; + esac + done + + shift $(( OPTIND - 1 )) + + cat - | sort | uniq -c | sort -h +} + +usage() +{ + cat <