~dricottone/my-utils

ref: a23c8c6f5d0a77f94d184e1017caf5d1dc912e9f my-utils/README.md -rw-r--r-- 2.9 KiB
a23c8c6fDominic Ricottone Fixing for archive contents that have spaces in the filename 4 years ago

#my-utils

A set of scripts that I use frequently. Written in a mix of shell (some POSIX sh, some bash), sed, awk, and so on. Any dependencies beyond the POSIX standard and inter-dependency are noted.

#Scripts

Executable Description Extra Dependencies
check-x Check if an X11 server is running
ctdir Count entries in a target directory(ies)
debom Remove BOM from a target file bash
enumerate Dumps HTML from an 'epub' e-book archive bash, zipinfo, unzip, w3m
epub Rename files in current directory into sequential numbers bash
mkbak Create a backup of a target file bash
mktar Wrapper around tar for easier compression bash *
rand Get a random number within an inclusive range shuf
rebom Add BOM to a target file
rmtar Delete 'tar' archive files
rmzip Delete 'zip' archive files
stop-at Re-print until a pattern is matched
tarcat Print contents of target archive file(s) *
unittest Wrapper around Python's unittest module python3, GNU or New (AT&T) awk
untar Wrapper around tar for easier decompression *
whichcat Print all lines from a program
whiched Open a program with your editor
whichhead Print the first 10 lines from a program bash
whichvi Open a program with your visual editor
whisper Wrapper around espeak to mirror say in macOS espeak
wttr Wrapper around wttr to fix double-wide runes for some fonts wego

* While you technically won't run into an error, these scripts do expect tar to support Zstandard, which isn't necessarily POSIX standard.

All scripts support -h and --help for printing built-in documentation.

Almost all scripts do nothing if no input arguments are given. (The exceptions are whisper and wttr.)

#Development

These being re-used scripts, there's been a great deal of feature creep, bikeshedding, and over-engineering. That is to say, there's a lot of uncertainty as to how reliable these scripts are. To mitigate these concerns, shellcheck is a development dependency. A test suite is in the making, and hopefully new entrants to this repository will come with tests.

#License

If you really want to use anything in this repository-and I need to stress if you really want to-just go right ahead. I'm licensing everything under GPL because I'd appreciate you letting me know I messed something up. But you really shouldn't try using anything here in production...