HOME | GIT Overview | Script-Archive: (docs) : (wiki) : (git) | ...
A small archive of 20 years of Unix and Linux Lore: programs and scripts with a slight flavoring of configuration scraps and notes. The commands in the archive work with Linux (unless noted differently) and quite likely were also used in earlier incarnations on various Unix versions.
Some grizzled veterans date back to pre-historic (non-)Unix systems and perl3, various dialects of REXX, M68K assembler, K&R-C (too often "unintentional-assembler-cum-obfuscation-contest"; compare that with perl, which at least only allows for "intentional obfuscation", and has some additional expressive power to offer as compensation for those stretches of kermit-injected line noise) or worse (portable awk in a mixed nawk/awk/oawk multi-node-multi-version environment - oh joy!). A select few even had a language-change or two thrown in. But most of these better remain resting in the archive dirtree along with a fond memory of their associated environment and hardware; besides, is there really anyone being still afflicted with these programs' raison d'etre like e.g. coping with PCL or floppies :)?
Some background on Unix and motivation of offering this archive.
Please have a look at the suggested tools page which lists a selection of the more accessible/usable scripts.
Etymology: TagLS - a command to add tag support to the command line should also make for an interesting read. Drop me a line on how you make use of tagls :).
Status of the commands checked into this archive: I do not use this archive for development or source code version control, but rather use a script to export the currently used versions to the archive once in a while. Bugs: Given the small size of the commands I do not use a consistent test harness setup, thus the pushed version may also contain recent breakage until the next export. So if you encounter a bug or a "wishlist-item", drop me a mail with or without a patch; I'm interested in fixing them or I might already fixed the problem locally.
Read this for information on the assumptions I tend to make for the system enivronment (Unix/perl/bash/ksh93). This page also details the conventions I use for placement of Perl modules and configuration files. Please also check this page in case of errors.
To download a file, go the directory of interest, select the file you're interested in and choose the 'raw link' to download. You can also clone the whole archive with git clone git://github.com/jakobi/script-archive.git or grab a current tar-ball (about 500K tar.gz).
The scripts are made available under the GPL v3 unless noted otherwise within the script.
Please imagine the usual web construction site road sign: There are still some sections and stuff missing from the archive, even though sometimes already included in the archive documentation. Let's consider these wishlist-level bugs and drop me a mail if you want to contribute or take a peek ahead of time.
See also the git view home page for the full archive.
*) you guessed it: there are some exceptions like e.g. mc configu or the fdupes notes, for which only the section sub dir is listed. Use the Filename- or GIT-link for more details on those.
. The linked pages in this filelist contain additional information on specific tool groups within the archive. You can download a group's files by following the tool group's GIT link below. Look around in the GIT directory of the group and use the download or the raw link for the files you're interested in. Of course, you can also use native git to access the repository :).
| MTime/Version | F | Sz | DIR | Section/Filename | Description |
|---|---|---|---|---|---|
| 2009-09-06 | 0K | GIT | README.md | ||
| 2009-10-10 | 2K | GIT | admin.misc/tracefacility-example.aixtrace.pl | aix trace facility - experimental - restricting aix tracefacility (AIX5+: use strace instead) | |
| 2009-09-25 | 4K | GIT | admin.text/00_ADMIN_TEXT.html | --> introduction to sfre and other tools for config file 'editing' <-- | |
| 2009-10-10 / 0.2 | 4K | GIT | admin.text/selectlines | selectlines - copy config files from templates, with line(de)selection | |
| 2009-10-20 / 0.1.1 | 49K | GIT | admin.text/sfre | systemflightrecordereditor, or just sfre (REQ cli.lock/*, changetrack.sf.net) | |
| 2009-08-25 | 2K | GIT | admin.text/sfre.sfrerc | ||
| 2009-10-10 | 14K | GIT | admin.text/unescape.pl | unescape.pl - remove some line noise from typescripts (script output) | |
| 2009-09-25 | 3K | GIT | cli.HTML/00_HTML-PROCESSING.html | --> some ancient HTML processing commands <-- | |
| 2009-11-26 / 0.2 | 23K | GIT | cli.HTML/COLLECT | COLLECT html files, text, etc into a single html file | |
| 2009-10-10 / 0.2 | 14K | GIT | cli.HTML/DIFF | DIFF two HTML files (from pre-diff-w days) | |
| 2009-10-10 / 0.2 | 9K | GIT | cli.HTML/DIFFTREE | DIFFTREE - diff two HTML trees and show changes | |
| 2009-10-10 / 0.21 | 7K | GIT | cli.HTML/LINKS | LINKS extraction from documents in various formats | |
| 2009-10-10 / 0.21 | 5K | GIT | cli.HTML/XLINKS | XLINKS extract links again, but with an eye toward spidering | |
| 2009-11-25 | 31K | GIT | cli.HTML/db_cgi.p | db_cgi.p - html grab bag of things MIME -- in case ancient scripts still depends on it -- AVOID | |
| 2009-10-25 | 4K | GIT | cli.HTML/dir.dir2array/ | dir2array -- a more modern embperl template approach to replace dir2html.pl (also includes as example the code to export/generate the github sites as of 09-06-09) | |
| 2009-10-10 | 24K | GIT | cli.HTML/dir2html.pl | dir2html.pl - ancient directory lister, early 90s style | |
| 1997-09-24 | 4K | GIT | cli.HTML/domain.codes.txt | ancient; some of the html stuff did depend on it | |
| 2009-10-10 | 2K | GIT | cli.HTML/htmlcheck | the ancient htmlchek validator with my old configuration | |
| 1997-09-24 | 0K | GIT | cli.HTML/htmlcheck.tum.cfg | ||
| 2009-10-10 | 72K | GIT | cli.HTML/htmlchek.pl | ||
| 1997-09-24 | 2K | GIT | cli.HTML/htmlchek.sh | ||
| 1997-09-24 | 2K | GIT | cli.HTML/htmlchkp.sh | ||
| 2009-10-10 | 1K | GIT | cli.HTML/remcr | addcr, foldlf, noumlaut, remcr: example stripping umlauts, cr, etc (REQ: sub.mime) | |
| 2009-10-10 | 10K | GIT | cli.HTML/sub.mime | sub.mime - html grab bag of things MIME -- in case ancient scripts still depends on it -- AVOID | |
| 2009-09-25 | 2K | GIT | cli.backup/00_BACKUP.html | --> backup <-- | |
| 2009-10-28 / 0.3 | 13K | GIT | cli.backup/expanfind | expanfind - expansyn for filelists: greps and 'grows' a filelist with 'related' files | |
| 2009-10-22 | 1K | GIT | cli.conf/00_EXAMPLE_CONFIGURATIONS.html | --> configuration examples for various commandline applications <-- | |
| 2009-09-06 | 4K | GIT | cli.conf/dir.mc/ | mc example configuration | |
| 2009-10-09 | 5K | GIT | cli.firefox/00_FIREFOX.html | --> a firefox wrapper / accessing bookmarks from the cli <-- | |
| 2010-01-13 | * | 12K | GIT | cli.firefox/firefox | firefox invocation wrapper, warts and all (you'll probably want to write a simplified one yourself) |
| 2009-08-22 | 0K | GIT | cli.firefox/firefox.-example | example of a shortcut file for the wrapper | |
| 2009-03-17 | 3K | GIT | cli.firefox/firefoxcookies | firefoxcookies - example getting at cookies | |
| 2009-08-10 | 1K | GIT | cli.firefox/firefoxdelta | firefoxdelta: example on diffing bookmarks | |
| 2009-08-28 | 9K | GIT | cli.firefox/firefoxgrep | firefoxgrep - grepping bookmarks | |
| 2009-08-28 | 4K | GIT | cli.firefox/firefoxgrephtml | helper | |
| 2010-01-13 | * | 8K | GIT | cli.firefox/firefoxgrepsqlite | helper |
| 2009-10-10 / 0.2 | 12K | GIT | cli.firefox/firefoxsessionlist | firefoxsessionlist - example getting open tabs / 'pretty printing' xml-ish files | |
| 2010-01-13 | * | 9K | GIT | cli.firefox/firefoxstdin | firefoxstdin - load bookmarks and bookmark-greps from stdin - paste target. |
| 2009-08-07 | 4K | GIT | cli.firefox/userChrome.css | grab bag of chrome settings, esp. wrt space-saving | |
| 2009-10-02 | 9K | GIT | cli.list.grep/00_LISTPROCESSING.html | --> introduction to list processing, boolean regular expressions, mass-editing and stream-editors <-- | |
| 2010-01-11 / 0.4.2 | * | 57K | GIT | cli.list.grep/Compact_pm/Grep.pm | Grep.pm - perl grep with stemming, synonyms, boolean expression, ... |
| 2009-10-29 | 3K | GIT | cli.list.grep/Compact_pm/Grep.pm.moduletest | ||
| 2009-10-11 / 0.1.2 | 28K | GIT | cli.list.grep/Grep.xchange | Grep.xchange: mass-edit files by editing grep output (REQ Flock.pm) | |
| 2009-10-10 / 0.1 | 4K | GIT | cli.list.grep/cat0 | cat0 converts between n and 0 based lines | |
| 2009-10-10 / 0.1 | 11K | GIT | cli.list.grep/cat0par | cat0par converts arbitrary regex-based records from and to 0-lines | |
| 2009-10-10 / 0.2 | 9K | GIT | cli.list.grep/expansyn | expansyn - synonym expansion for words and simple regular expressions | |
| 2007-12-27 | 0K | GIT | cli.list.grep/expansyn.cfg | example configuration | |
| 2009-10-10 | 3K | GIT | cli.list.grep/hlgrep | hlgrep - modified version to pass on all text plus highlighting (-A option) | |
| 2009-10-10 | 0K | GIT | cli.list.grep/nl0 | wrapper for nl for 0 lines | |
| 2009-09-13 | 1K | GIT | cli.list.grep/xargs0 | wrapper for xargs for 0 lines (not necessary: xargs -0) | |
| 2009-09-25 | 5K | GIT | cli.list.rename/00_MASS-RENAME.html | --> introduction to mass file renaming scripts <-- | |
| 2010-01-15 / 2.00pj.4 | * | 60K | GIT | cli.list.rename/emv | emv - editor mv: two-pass renaming, link target editing, ... in the editor |
| 2009-06-27 | 0K | GIT | cli.list.rename/emvp | emvp - helper: using myrename for some text modification | |
| 2009-10-10 | 1K | GIT | cli.list.rename/emvp0 | emv helper - simplified standalone version of emvp | |
| 2009-10-10 | 1K | GIT | cli.list.rename/emvs | emvs - helper: sort keeping dirs and children together | |
| 2009-10-10 | 2K | GIT | cli.list.rename/emvx | emvx - helper: return extended listing for input | |
| 2009-10-10 / 0.2 | 45K | GIT | cli.list.rename/myrename | myrename - customizable perl mass-renaming/link-editing/... of files | |
| 2009-10-18 / 0.1 | 7K | GIT | cli.list.rename/myrename.mangle | myrename.mangle - encode/decode filenames to e.g. avoid whitespace while sorting | |
| 2009-10-18 | 2K | GIT | cli.list.rename/myrename.quote | myrename.quote: quote input in various ways | |
| 2009-09-25 | 4K | GIT | cli.list.tagls/00_TAGS_AND_COMMANDLINE.html | --> introduction to tagls and commandline tag usage <-- | |
| 2009-10-11 / 0.2.2 | 33K | GIT | cli.list.tagls/tagls | talgs: tags for the command line | |
| 2009-09-17 / 0.1 | 3K | GIT | cli.list.tagls/taglsc | taglsc document collections - a simple wrapper around tagls | |
| 2009-08-22 | 2K | GIT | cli.list.tagls/taglsc.cfg | ||
| 2009-07-25 | 0K | GIT | cli.list.tagls/taglsgrep | example of using tagls as grep against stdin | |
| 2009-10-22 | 2K | GIT | cli.list.various/00_LISTPROCESSING2.html | --> various smaller list processing helpers <-- | |
| 2009-10-10 | 2K | GIT | cli.list.various/USR1tail | USR1tail - perl tail example, honoring USR1 for redisplay | |
| 2009-07-27 | 0K | GIT | cli.list.various/args | small trick: echo arguments for debugging | |
| 2009-10-10 | 3K | GIT | cli.list.various/busythreadtail.p | busythreadtail.p - perl tail example, using threads | |
| 2009-07-18 | 2K | GIT | cli.list.various/ddnonblock | more of a memory hint: non-blocking pipe io, using dd or perl | |
| 2009-10-10 | 0K | GIT | cli.list.various/ddsponge | more of a memory hint: slurping all previous input in a pipe (dd/sponge/perl) | |
| 2009-06-09 | 0K | GIT | cli.list.various/echo2cat | small trick: echo arguments for debugging by abusing cat0 | |
| 2010-01-21 / 0.2 | * | 3K | GIT | cli.list.various/lc | lc,uc,Uc: case change/rename filenames or just case change/print stdin (-) |
| 2009-10-10 / 0.1 | 4K | GIT | cli.list.various/line.print | line.print - helper for grep pipes: print selected single lines | |
| 2009-10-10 / 0.1 | 6K | GIT | cli.list.various/line.replace | line.replace - helper for grep pipes: change selected single lines | |
| 2009-10-10 | 7K | GIT | cli.list.various/pfind | pfind - a modified version of perl's find example script | |
| 2009-10-26 | 1K | GIT | cli.list.various/pipe.exec | slurp input and exec command if input exists; w/o command print or return false | |
| 2009-08-02 | 0K | GIT | cli.list.various/pipe.filerequest.gtk2 | gtk2 example getting filenames in perl | |
| 2009-10-10 | 3K | GIT | cli.list.various/pipe.select.curses | perl curses example showing/selecting lines within a pipe | |
| 2009-10-10 | 2K | GIT | cli.list.various/pipe.select.gtk2 | perl gtk2 example showing/selecting lines within a pipe | |
| 2009-10-10 / 0.1 | 2K | GIT | cli.list.various/randomcat | randomcat, randomlines: print a file with lines being randomized | |
| 2003-04-02 | 0K | GIT | cli.list.various/randomecho | randomecho: echo arguments in random order | |
| 2009-09-17 / 0.2 | 7K | GIT | cli.list.various/range | range - print a range of numbers, optional 0-padding | |
| 2009-10-10 | 1K | GIT | cli.list.various/revdatesort | revdatesort: normal sort, however sorting dates in reverse order | |
| 2009-10-10 | 2K | GIT | cli.list.various/sort.ip4 | sort.ip4 - sorting ip4 addresses | |
| 2009-10-10 | 9K | GIT | cli.list.various/teefork | teefork: extended version of the process output capable perl multiple tee example | |
| 2009-10-10 / 2.2 | 9K | GIT | cli.list.various/xchange.pl | xchange.pl - ancient file non-interactive perl text replacer (superseeded by Grep.xchange) | |
| 2009-10-15 / 0.1 | 5K | GIT | cli.lock/Compact_pm/Flock.pm | Flock.pm - perl module for lock handling using perl's portable flock | |
| 2009-10-11 | 2K | GIT | cli.lock/Compact_pm/Flock.pm.moduletest | ||
| 2009-10-10 / 0.2 | 8K | GIT | cli.lock/lock.pl | lock.pl - locking using either atomic mkdir or perl-flock (REQ Flock.pm) | |
| 2009-10-22 | 3K | GIT | cli.mail/00_MAIL_SUPPORTSCRIPTS.html | --> programs for working with email <-- | |
| 2009-09-04 / 5.30.33pj | 83K | GIT | cli.mail/mygrepmail | mime-extended variant of grepmail 5.3033 | |
| 2009-09-25 | 3K | GIT | cli.processes/00_PROCESS+EVENT-HANDLING.html | --> killing, monitoring & waiting for processes & their effects <-- | |
| 2009-08-26 | 3K | GIT | cli.processes/dbus-monitor-tail | dbus-monitor-tail: report N selected dbus events, optionally edited with --eval; incl. an example for catching 'pings' from dbus-send or notify-send | |
| 2009-10-10 / 0.1 | 4K | GIT | cli.processes/fwait | fwait - simplified condition waiter, boolean, original codebase | |
| 2004-05-12 | 0K | GIT | cli.processes/pwait | pwait - wrapper for fwait | |
| 2009-10-11 / 0.32 | 22K | GIT | cli.processes/waitcond | waitcond - generic condition waiter: boolean expression over regexes, pids, files, idleness (Note: 0.32 := 0.2.2 + cpan-related sugar-coating) | |
| 2009-08-25 | 2K | GIT | cli.processes/waitcond.dbus.README | on using waitcond with the dbus | |
| 2009-08-28 | 7K | GIT | cli.processes/waitcond.timeout | waitcond.timeout executes process with timeout (time or exit of another process) | |
| 2009-11-13 / 0.5.3 | 15K | GIT | cli.processes/zap | zap - regex based process kill/list/nice | |
| 2009-09-25 | 4K | GIT | cli.shell.functions/00_SHELL_SETUP.html | --> a modular shell setup and some shell functions of interest; notes concerning ksh93s and pipefail/pipestatus <-- | |
| 2009-08-28 | 3K | GIT | cli.shell.functions/dir.shell/00_ksh.func | ksh-specific initialization; all other files are both bash/ksh | |
| 2009-09-04 | 4K | GIT | cli.shell.functions/dir.shell/00_lib.func | ** uniqpath, f2a and friends | |
| 2009-08-28 | 2K | GIT | cli.shell.functions/dir.shell/01_initialize.func | common initialization | |
| 2009-08-28 | 1K | GIT | cli.shell.functions/dir.shell/02_customize.func | load host/account specific files | |
| 2009-10-15 | 2K | GIT | cli.shell.functions/dir.shell/LOAD | ** loader for *.func; invoked from .bashrc (actually the only line to change in .bashrc:)) | |
| 2009-08-28 | 2K | GIT | cli.shell.functions/dir.shell/auth.func | making ssh/gpg agents known | |
| 2009-08-28 | 12K | GIT | cli.shell.functions/dir.shell/cd.dyndirstack_bash.func | ** extended bash-builtin dirstack (bash only) | |
| 2009-11-06 | 2K | GIT | cli.shell.functions/dir.shell/cd.func | setting CDPATH, mkdir aliases, etc | |
| 2009-09-19 | 16K | GIT | cli.shell.functions/dir.shell/cd.nico_cd_for_bash_and_ksh.func | ** bash and ksh (att ksh93, but not pd-ksh & forks) compatible version of nico_cd dirstack | |
| 2009-08-28 | 2K | GIT | cli.shell.functions/dir.shell/color.func | less and ls color | |
| 2010-01-24 | * | 6K | GIT | cli.shell.functions/dir.shell/dict.func | dictionary lookup, local and remote |
| 2010-01-22 | * | 4K | GIT | cli.shell.functions/dir.shell/grep.func | Grep.pm the global filelist; sypport functions |
| 2009-08-28 | 0K | GIT | cli.shell.functions/dir.shell/mail.func | mail aliases | |
| 2010-01-09 | * | 1K | GIT | cli.shell.functions/dir.shell/media.func | media aliases |
| 2009-09-28 | 0K | GIT | cli.shell.functions/dir.shell/misc.func | miscellaneous aliases and settings | |
| 2009-11-05 | 3K | GIT | cli.shell.functions/dir.shell/promptcdtitledisplay.func | customize window title and prompt | |
| 2009-10-11 | 2K | GIT | cli.shell.functions/dir.shell/text.func | setup editors, less, etc (no color) | |
| 2009-08-28 | 1K | GIT | cli.shell.functions/dir.shell/zz_finalize.func | cleanup and uniqpath $PATH | |
| 2009-10-22 | 3K | GIT | cli.various/00_VARIOUS.html | --> various scripts <-- | |
| 2009-11-06 | 3K | GIT | cli.various/ALARM | ALARM - example acoustic and visual alarm for use with e.g. waitcond | |
| 2009-06-22 | 0K | GIT | cli.various/ALERTCLR | ALERTCLR - example using the on-screen display (clear displayed alerts) | |
| 2009-08-25 | 1K | GIT | cli.various/ALERTOSD | ALERTOSD - example using the on-screen display | |
| 2009-10-10 / 0.2 | 8K | GIT | cli.various/append.p | append.p - append files to similarly named files in archive dir, knows gzip | |
| 2008-12-10 | 1K | GIT | cli.various/date.before | date.before,date.after: return true/false on comparing dates (shell) | |
| 2008-02-04 | 0K | GIT | cli.various/df.minfree | df.minfree - return true/false on available diskspace | |
| 2007-12-18 | 2K | GIT | cli.various/diff.p | diff.p - diff wrapper knowning about gzip | |
| 2009-09-06 | 4K | GIT | cli.various/dir.fdupes/ | dir.fdupes - some notes on fdupes for file deduplication | |
| 2009-09-06 | 4K | GIT | cli.various/dir.printing/ | my current network printing scripts for lprng, including an lpr wrapper to invoke them in spite of gtk-print | |
| 2009-10-10 | 2K | GIT | cli.various/gunzipmemberextract | gunzipmemberextract - experimental code on recovering appended gzipped 'members' from a corrupted gzip file | |
| 2009-10-10 | 3K | GIT | cli.various/gzip.rfix | gzip.rfix - clean up archive dirs after gzip -r | |
| 2009-10-23 / 0.1 | 5K | GIT | cli.various/mt_dir | mt_dir - preconfigured directory short cuts for shell and mc | |
| 2009-10-23 | 1K | GIT | cli.various/mt_dir.cfg | ||
| 2009-10-09 | 10K | GIT | cli.various/paradj | paradj - text formatting, modified | |
| 2009-10-10 | 1K | GIT | cli.various/repeat | repeat commands | |
| 2010-01-21 | * | 3K | GIT | cli.various/sanitize_filenames | ancient latin1 filename sanitizing (superseded: myrename, utf8) |
| 2009-04-20 | 0K | GIT | cli.various/sleep.pl | sleep.pl - example of perl subsecond select sleep | |
| 2009-09-17 / 0.1 | 4K | GIT | cli.various/sleepuntil | sleepuntil sleeps until date, optionally executing commands | |
| 2009-10-06 | 59K | GIT | cli.various/term.reset | term.reset - terminal reset, copes with the corruption caused by vim highlighting bug meeting urxvt | |
| 2009-09-17 / 0.1 | 8K | GIT | cli.various/watchfloat | watchfloat - extended example showing floating command output in a terminal | |
| 2009-08-07 | 34K | GIT | gpl.txt | GPL v3 - the licence used for the files in this archive | |
| 2009-08-15 | 4K | GIT | hw.tablet/rotate.sh | rotate.sh - toshiba tablet orientation scriptlet | |
| 2010-01-24 | * | 1K | GIT | versions | |
| 2009-09-25 | 2K | GIT | vim/00_VIM.html | --> vim scripts and macros (mostly placeholder) <-- | |
| 2009-08-22 | 4K | GIT | vim/dir.runtime/ | vim runtime (placeholder) | |
| 2009-10-11 / 0.1.2 | 4K | GIT | vim/pipe.vim | pipe.vim - run vim in the middle of a pipe directly or with xargs | |
| 2009-08-28 | 1K | GIT | vim/vimless | vimless - wrapper to use vim incl. its syntaxhighlighting instead of less | |
| 2009-09-17 / 1.2pj | 9K | GIT | vim/vimscript | vimscript - an updated version to work in pipes on unix | |
| 2009-07-19 | 0K | GIT | vim/vimscript.range |
HOME | GIT Overview | Script-Archive: (docs) : (wiki) : (git) | ...
jakobi(at)acm.org, 2009-07 - 2010-01-24