From 84e8ae03ecde112339010a0adaf626418ed68bca Mon Sep 17 00:00:00 2001 From: Connor Olding Date: Thu, 1 Sep 2022 18:01:09 -0700 Subject: [PATCH] add `scount` utility/shorthand --- sh/scount | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 sh/scount diff --git a/sh/scount b/sh/scount new file mode 100644 index 0000000..958fa0f --- /dev/null +++ b/sh/scount @@ -0,0 +1,24 @@ +#!/usr/bin/env sh +# YES_ZSH +# YES_BASH +# YES_DASH +# YES_ASH + +### @ scount +### perform `sort | unic -c | sort -n`, preferring GNU awk when available. + +if "$HOME/sh/witch" gawk >/dev/null 2>/dev/null; then + scount() { + argc $# -le 1 scount || return + gawk -- 'BEGIN{PROCINFO["sorted_in"]="@val_num_desc"}{a[$0]--}END{for(i in a)printf "%7i %s\n",-a[i],i}' "$@" + } +else + scount() { + argc $# -le 1 scount || return + sort -- "$@" | unic -c | sort -n + } +fi + +[ -n "${preload+-}" ] || . ~/sh/preload || exit 2 +eval ${preload:-preload} argc +[ -n "${preload+-}" ] || scount "$@"