-
-
Save garybernhardt/e4910b80e8ccda9f3538 to your computer and use it in GitHub Desktop.
find $(manpath | tr ':' '\n') -iname '*.1' | xargs cat | (LC_CTYPE=C tr -C '[:alnum:]-_' '\n') | egrep '^--[\-_[:alnum:]]+$' | sort | uniq -c | sort -n |
Now I'm wondering what are those 162 commands that support --1v
. And I suspect 28 -----syntax
and 17 -----examples
aren't really options.
(It's difficult to copy and paste a line of text from a horizontally-scrolling div. I accidentally the final -n
. Sorry.)
:; find $(manpath | tr ':' '\n') -iname '*.1' | xargs cat | (LC_CTYPE=C tr -C '[:alnum:]-_' '\n') | perl -ne 'print if /^--[\w-]+$/' | grep -v '^-*$' | sort | uniq -c | sort -n ksh: manpath: not found tr: unknown option -- C usage: tr [-cs] string1 string2 tr [-c] -d string1 tr [-c] -s string1 tr [-c] -ds string1 string2 find: unknown option -- i find: unknown option -- n find: unknown option -- a find: unknown option -- m find: unknown option -- e find: *.1: No such file or directory :; uname -mrs NetBSD 6.1.5 amd64
(FWIW, if I were chasing portability in shell programming, I'd probably punt on making this a one-liner. Make a script, define well-named functions, make their composition evident, then futz with implementation details of each function.)
OS X's zcat append ".Z" to all paths not already ending with it, so that doesn't work. Using gzcat instead fails because it tries to decompress everything, so uncompressed man pages blow up. I bet that Ubuntu has saved its users as much as ten megabytes of disk space by compressing the man pages! :/
triple click selects full lines of text, which is useful for situations like this (although I don't know whether various Linux dinguses will do the right thing there; probably not)
the final sort is sort -n