HOME  |  GIT Overview  |  Script-Archive: (docs) : (wiki) : (git)  |  ...

Peter's Script-Archive - Overview


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 :)?


About this Archive

Philosophy, Ancient Artes and a Modern Tool Chest

Some background on Unix and motivation of offering this archive.

Suggested Tools & Etymology: TagLS

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 and Updates

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.

Download and Installation Notes

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).

Licence

The scripts are made available under the GPL v3 unless noted otherwise within the script.

Complete(*) Filelist with Section Introductions

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/VersionFSzDIRSection/FilenameDescription
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