# anytopnm - attempt to convert an unknown type of image file to a P?M file. # append - append data to a file # apphelper - a generic wrapper for email attachments or web browser file helpers, offering both save and view choices # bsed - batch edit with sed # buff - backup file finder # buglog - take a log message and attachment data on stdin and log it appropriately # cats2procmailrc - generate a procmail recipe from my mail categories file # cdrip - extract tracks from an audio CD and encode as Ogg, MP3 and/or FLAC # cgiwrap - wrapper for CGI scripts which sets environment and captures and reports errors to the browser # colpad - reformat leftmost text columns to specified widths # convof - return cached conversion of file # csbug - a simple bug tracking system # dcmp - compare or merge two directory trees # histbackup - backup a directory using an incremental technique # hzp - print files containing regexp with regexp highlighted # latex-math2png - convert LaTex math notation into a PNG image # lz - print to postscript printers, doublesided with multiple pages to a sheet # mail-backup - backup my email directories # mkcd - burn a data CD from an ISO image or data directory # mkiso - construct an ISO9660 CD image for burning a data CD # mkscriptndx - produce a simple summary of the named scripts # nsr-savedir - save a particular directory path using Legato Networker # pipeargs - feed arguments, one per line, to stdin of a command # rc.mobile - run system startup scripts in various combinations for mobile hosts # rhb - remote histbackup # rsmirror - maintain a local mirror of portions of rsync/http/ftp servers # runmaint - run a maintenance script # setperms - set permissions on files # stic - convenient wrapper for the stic tools (Set of Tools for Image Collectors) # syncopt - keep per-machine /opt in sync with master copy # syncstuff - synchronise files between the usual spots # tcpio - shell level TCP stream access # tracepid - trace a process id # unhashpod - extract the pod content from a script # vt - access vt stores, a Venti-like content addressed storage pool # xpl - convenient and versatile wrapper for xplanet +++: # +++: # +++: # - Cameron Simpson +++: # Mairix search including archives. +++: #!/bin/sh ++: # ++: # ++: # - Cameron Simpson 01jan2003 ++: # Search for stuff with mairix and then run up the result in mutt. ++: #!/bin/sh -u +: # +: # +: # - Cameron Simpson +: # Read a mail folder with mutt. +: #!/bin/sh -ue +gmail: #!/bin/sh -ue +imap: # +imap: # +imap: # - Cameron Simpson 09sep2003 +imap: # Connect to my IMAP folder. +imap: #!/bin/sh -u 1970: #!/bin/sh 2alert: #!/bin/sh 2ps: # 2ps: # 2ps: # 2ps: # - Cameron Simpson 12dec1996 2ps: # Convert input to PostScript. 2ps: # Convert to MIME basis. - cameron 29apr2004 2ps: #!/bin/sh -u 2tek: #!/bin/sh 2vt: #!/bin/sh 48toxbm: # 48toxbm: # 48toxbm: # - Cameron Simpson , 15jul94 48toxbm: # Read a 48x48x1 face file and write an xbm bitmap. 48toxbm: #!/usr/bin/perl 822date: #!/bin/sh @: # @: # @: # - Cameron Simpson @: # Quick attach to remote host. @: #!/bin/sh -u @@: # Wrapper for "@ host -A". - Cameron Simpson 22apr2005 @@: #!/bin/sh @X: #!/bin/sh ATcmd: # ATcmd: # - Cameron Simpson 15may2003 ATcmd: # ATcmd: # Send a Hayes AT command to stdout and read an OK back. ATcmd: #!/bin/sh LL: #!/bin/sh R@: #!/bin/sh -u RSS: # RSS: # RSS: # - Cameron Simpson RSS: # ps sorted on Resident Set Size (RSS). RSS: #!/bin/sh -u SZ: # SZ: # SZ: # - Cameron Simpson SZ: # ps sorted on Virtual SiZe (VSZ). SZ: #!/bin/sh -u a2p: # a2p: # a2p: # - Cameron Simpson 10may97 a2p: # Yet another ASCII to PostScript. a2p: #!/usr/bin/perl a2urls: # a2urls: #!/bin/sh absclasspath: # absclasspath: # absclasspath: # - Cameron Simpson 14feb2003 absclasspath: # Take the environment $CLASSPATH and resolve into absolute classpath absclasspath: # using $CLASSPATHPATH envvar. absclasspath: #!/bin/sh absurl: # absurl: # absurl: # absurl: # - Cameron Simpson, cs@zip.com.au, 24aug97 absurl: # -h to restrict results to origin page's host. - cameron, 17apr98 absurl: # Read URLs, convert to absolute ones w.r.t to supplied base. absurl: #!/usr/bin/perl acon: #!/bin/sh acroread2ps: # acroread2ps: # acroread2ps: # acroread2ps: # - Cameron Simpson 14may1997 acroread2ps: # No, acroread doesn't parse command line options like most UNIX acroread2ps: # No, the Level-1 option is a no-op on a Level-2 printer, hence the acroread2ps: # No, you can't use -xrm to control things if you don't run acroread2ps: # Use acroread to convert PDF to PostScript (oh for PDF to HTML!). acroread2ps: # Yes, there's something odd about the halftoning, not sure what yet. acroread2ps: # filters, hence the cat prefix. acroread2ps: # interactively, hence the juggling of .acrorcs. acroread2ps: # override of "Level2?". acroread2ps: #!/bin/sh addfrom_: # addfrom_: # addfrom_: # - Cameron Simpson 08nov2002 addfrom_: # Read a mailbox naively made by a procmail which doesn't stash From_ lines, addfrom_: # and add From_ lines. addfrom_: #!/bin/sh addhtmlbase: # addhtmlbase: # addhtmlbase: # - Cameron Simpson 13jan2003 addhtmlbase: # addhtmlbase: # Add a addhtmlbase: # markup to the HTML on stdin, writing result to stdout. addhtmlbase: #!/bin/sh addif: # addif: # addif: # - Cameron Simpson 12may2005 addif: # Add a logical interface with the specified address. addif: # Allocates a fresh logical interface on the fly. addif: #!/bin/sh -u addjukeiso: # addjukeiso: # addjukeiso: # - Cameron Simpson 18sep2002 addjukeiso: # Put up a new ISO on the jukebox server. addjukeiso: #!/bin/sh addlinkpage: # addlinkpage: # addlinkpage: # - Cameron Simpson 04aug2000 addlinkpage: # Add a link page URL to a list of link pages. addlinkpage: #!/bin/sh -u addtail: # addtail: # addtail: # - Cameron Simpson 25may1996 addtail: # Add a log to the things being tailed. addtail: #!/bin/sh addyumrepo: # addyumrepo: # addyumrepo: # - Cameron Simpson 143dec2004 addyumrepo: # Create a new repository entry in /etc/yum.repos.d. addyumrepo: #!/bin/sh -u after: # after: # after: # - Cameron Simpson 13sep2000 after: # Run a command later. after: #!/bin/sh aftp: #!/bin/sh ah: # ah: # ah: # - Cameron Simpson 17dec2002 ah: # Run app-helper with the autoview mode on, defaulting to view-unknown. ah: #!/bin/sh -u ahf: #!/bin/sh aht: #!/bin/sh ahu: # ahu: # ahu: # - Cameron Simpson 25may2005 ahu: # Run ah with the -u (unlink-after) option. ahu: #!/bin/sh aka: # aka: # aka: # aka: # Become user; bypass shell. - Cameron Simpson, 02may94 aka: # Bug: doesn't fiddle with secondary groups at all. aka: #!/usr/bin/perl alert: # alert: # alert: # - Cameron Simpson alert: # Write a possibly-colourised string to the alert log. alert: #!/bin/sh alertlog: #!/bin/sh aliasaddrs: # aliasaddrs: # aliasaddrs: # addr [name] aliasaddrs: # Emit: aliasaddrs: # Read mutt alias file. aliasaddrs: #!/bin/sed -nf aliases2xrefcats: # aliases2xrefcats: # aliases2xrefcats: # - Cameron Simpson 30oct2005 aliases2xrefcats: # key,... aliasname name
aliases2xrefcats: # Read my aliases file, which has the form: aliases2xrefcats: # and generate aggregate lines with regexps for massaging into cats lines. aliases2xrefcats: #!/usr/bin/python -tt alog: # alog: # alog: # - Cameron Simpson 09feb2002 alog: # Run command asynchronously with output to a logfile. alog: #!/bin/sh amex: # AMEX Online Services. - Cameron Simpson 03may2002 amex: #!/bin/sh announce-email: # announce-email: # announce-email: # - Cameron Simpson 28mar2002 announce-email: # Read an email message from stdin, announce to alert log. announce-email: #!/bin/sh announceddtsemail: # announceddtsemail: # announceddtsemail: # - Cameron Simpson 05dec2001 announceddtsemail: # Announce the arrival of a new DDTS request. announceddtsemail: #!/bin/sh anonftp: # anonftp: # anonftp: # - Cameron Simpson anonftp: # Anonymous ftp to a host. anonftp: #!/bin/sh append-stderr: # append-stderr: # append-stderr: # - Cameron Simpson 17dec2007 append-stderr: # Append to stdout when the command finishes. append-stderr: # Run a command, squirell away the stderr. append-stderr: # Written to wrap mailcap commands for mutt. append-stderr: #!/bin/sh -ue apsum: #!/bin/sh aptally: # aptally: # aptally: # HOST hostname of URL aptally: # TYPE content-type aptally: # total class aptally: # Walk Apache cache and report stats in the form aptally: # where the class depends on the type of data: aptally: #!/usr/bin/perl apupd: # apupd: # apupd: # - Cameron Simpson apupd: # Notice changes in tallies. apupd: #!/bin/sh aputmp2a: # aputmp2a: # aputmp2a: # Unpacker for utmp/wtmp records on Apollos. aputmp2a: #!/usr/bin/perl archdir: # archdir: # archdir: # - Cameron Simpson 26aug2004 archdir: # Suck in a copy of the specified dir. archdir: #!/bin/sh archlog: # archlog: # archlog: # - Cameron Simpson 19nov97 archlog: # Archive a log file in a separate archival area. archlog: #!/bin/sh archuser: # archuser: # archuser: # - Cameron Simpson 21feb2001 archuser: # Archive a user directory. archuser: #!/bin/sh arg0: # arg0: # No-op arg0 for bootstrap stage. arg0: #!/bin/sh arg1: # arg1: # arg1: # - Cameron Simpson 17jul2004 arg1: # Place argument 1 at the right place in a command line and then run arg1: # the command. This is a tool to support filteredit et al. arg1: #!/bin/sh -u arp2ethers: # arp2ethers: # arp2ethers: # - Cameron Simpson 01sep1995 arp2ethers: # Read arp -a output and emit /etc/ethers format. arp2ethers: #!/usr/bin/perl article: # article: #!/bin/sh ask: #!/bin/sh askcisco: # askcisco: # askcisco: # - Cameron Simpson 27jan1999 askcisco: # Send a single command to a switch, fetch reply. askcisco: #!/bin/sh asxget: #!/bin/sh -u aulist: # aulist: # aulist: # - Cameron Simpson 01jun2002 aulist: # List audio files for selection. aulist: #!/bin/sh autofile: # autofile: # autofile: # - Cameron Simpson 13jan2005 autofile: # Try to file a file based on its name. autofile: #!/bin/sh -u await: # await: # await: # await: # - Cameron Simpson, 05nov1993 await: # Await some condition, then exit. await: # Turned into wrapper for forever. await: #!/bin/sh babel: # babel: # babel: # - Cameron Simpson 19nov1998 babel: # Use the babelfish translator. babel: #!/bin/sh base64: # base64: # base64: # - Cameron Simpson 27aug2001 base64: # Encode data in base64 format.. base64: # Very quick'n'dirty. Should really stream for large input. base64: #!/usr/bin/perl beyonwiz: # beyonwiz: # beyonwiz: # - Cameron Simpson 08jun2008 beyonwiz: # Utility to handle Beyonwiz TVWiz files. beyonwiz: #!/usr/bin/python -tt bfilt: #!/bin/sh bgdirs: #!/bin/sh bgfg: # bgfg: # bgfg: # - Cameron Simpson bgfg: # Dispatch a contrast bug report. bgfg: #!/bin/sh bglist: # bglist: # bglist: # - Cameron Simpson 10may1999 bglist: # Offer a list of background images. bglist: #!/bin/sh bgproc: # bgproc: # - Cameron Simpson 25aug1999 bgproc: # bgproc: # Background a command. bgproc: # Copy output to a log. bgproc: # NoHUP it. bgproc: # Record the pid in a file. bgproc: #!/bin/sh bgprocmail: # bgprocmail: # bgprocmail: # - Cameron Simpson 05may2002 bgprocmail: # Copy input, run procmail in the background. bgprocmail: #!/bin/sh bgrm: # bgrm: # bgrm: # - Cameron Simpson 19jul1998 bgrm: # For each target, move aside and issue an async rm. bgrm: #!/bin/sh bgsize: # bgsize: # bgsize: # - Cameron Simpson bgsize: # Print out preferred root background image dimensions. bgsize: #!/bin/sh bgssh: #!/bin/sh bgstdin: # bgstdin: # bgstdin: # - Cameron Simpson 12sep2000 bgstdin: # Background command but keep attached to stdin. bgstdin: #!/bin/sh bgstop: # bgstop: # - Cameron Simpson 25aug99 bgstop: # bgstop: # Kill a job started with bgproc. bgstop: #!/bin/sh bgxrefmailitem: #!/bin/sh bib: # bib: # bib: # - Cameron Simpson, 30nov93 bib: # Consult bibliographic database, print results. bib: #!/bin/sh binlink: # binlink: # binlink: # - Cameron Simpson binlink: # Link something into my bins, usually a script. binlink: # Obsolete these days; I'm back to using a long PATH binlink: # instead of doing it The Plan 9 Way. binlink: #!/bin/sh bkpk-todo: # bkpk-todo: # bkpk-todo: # - Cameron Simpson 21jan2008 bkpk-todo: # Log a todo item to a backpackit web page by email. bkpk-todo: #!/bin/sh -ue blockimgs: # blockimgs: # - Cameron Simpson 09oct2002 blockimgs: # http://moz.zope.org/Members/fabian/drafts/cookperm.txt blockimgs: # blockimgs: # Read a Mozilla cookperm.txt file, rather poorly documents here: blockimgs: # and set the "block images" flag for the hosts on the command line. blockimgs: #!/usr/bin/perl bmk-gui: #!/usr/bin/python -tt bmk2html: # bmk2html: # bmk2html: # - Cameron Simpson 16jun2005 bmk2html: # Transcribe my bookmarks to HTML. bmk2html: #!/bin/sh -u bmk: # bmk: # bmk: # - Cameron Simpson 19apr2005 bmk: # Bookmark manager. bmk: #!/bin/sh -u bmp2png: #!/bin/sh bnm: #!/bin/sh bogof-sync: # bogof-sync: # bogof-sync: # - Cameron Simpson 17mar2006 bogof-sync: # bogof-sync: # Rsync SHM bogofilter db to master db. bogof-sync: #!/bin/sh -u bogof: # bogof: # bogof: # - Cameron Simpson 17mar2006 bogof: # bogof: # Wrapper for bogofilter to subvert the fsync()-happy nature of its db backend. bogof: #!/bin/sh -u bom-radar-png: # bom-radar-png: # bom-radar-png: # - Cameron Simpson 15jan2007 bom-radar-png: # Output a BOM 128km rain radar image in PNG form, usually transparent. bom-radar-png: #!/bin/sh -u bom-radar-trans: # bom-radar-trans: # bom-radar-trans: # - Cameron Simpson bom-radar-trans: # PNG on standard output - suppress sea, land and the lightest rainfall. bom-radar-trans: # Read a BOM radar GIF named on the command line, emit a transparent bom-radar-trans: #!/usr/bin/python -tt bounce: # bounce: # bounce: # - Cameron Simpson 12apr2000 bounce: # Remove addresses from a mailing list. bounce: #!/bin/sh browser: # browser: # browser: # - Cameron Simpson 08aug2004 browser: # Compare to $BROWSER, which is for opening a fresh window in the browser. browser: # Dispatch my preferred browser. browser: #!/bin/sh -u bscp: # bscp: # bscp: # - Cameron Simpson 05mar2004 bscp: # Put files to the named accounts in parallel. bscp: #!/bin/sh btdd: # btdd: # btdd: # - Cameron Simpson 12nov99 btdd: # Budtool compatible dd command. btdd: #!/bin/sh btinfo: # btinfo: # btinfo: # - Cameron Simpson 07nov2000 btinfo: # Get info from the budtool system. btinfo: #!/usr/bin/perl btq: # btq: # btq: # - Cameron Simpson 23jun2005 btq: # Look for torrents in various search engines. btq: #!/bin/sh -u btread: # btread: # btread: # - Cameron Simpson 27jul98 btread: # Read a file from a tape written by budtool. btread: # This script primarily exists to document the magic blocksize. btread: #!/bin/sh bug: # bug: # bug: # - Cameron Simpson bug: # Default: the first supported bug in the $BUGSYSTEMS envvar, defaulting bug: # Log a fresh bug in the specified bug system. bug: # to mailto:$USER. bug: #!/bin/sh -u bugcc: # bugcc: # bugcc: # - Cameron Simpson 09jan2005 bugcc: # Add mailto: URLs to $BUGSYSTEMS and run a command. bugcc: #!/bin/sh buglog-daily: # buglog-daily: # buglog-daily: # - Cameron Simpson 13mar2008 buglog-daily: # Log to daily log files. buglog-daily: #!/bin/sh -ue bugscript: # bugscript: # bugscript: # - Cameron Simpson 22mar2005 bugscript: # Run command, log output to bug system, discard log file. bugscript: #!/bin/sh -u bugset: #!/bin/sh bugsystems: # bugsystems: # bugsystems: # - Cameron Simpson 09jan2005 bugsystems: # Report $BUGSYSTEMS, or its default value. bugsystems: #!/bin/sh bundle: # bundle: # bundle: # - Cameron Simpson bundle: # Bundle up a directory as a compressed tar file. bundle: #!/bin/sh bx: #!/bin/sh bz2: #!/bin/sh c2man: # c2man: # c2man: # c2man: # - Cameron Simpson, January 1992 c2man: # Added -h option. - Cameron Simpson, September 1992 c2man: # Extract manual entries from C source files. c2man: #!/bin/sh callcgi: # callcgi: # - Cameron Simpson 19jan2003 callcgi: # callcgi: # Run a script locally as if it's a CGI, and display the results. callcgi: #!/bin/sh cancel: # cancel: #!/bin/sh catco: # catco: # catco: # - Cameron Simpson 20may2004 catco: # Cat individual files from a CVS repository. catco: #!/bin/sh catmaildir: # catmaildir: # catmaildir: # - Cameron Simpson 27mar2000 catmaildir: # Output all the numerically named files in the named directories catmaildir: # in UNIX mail file format. catmaildir: #!/bin/sh cats: #!/bin/sh catthen: # catthen: # catthen: # - Cameron Simpson 23jan2004 catthen: # foodata-generator | catthen lock foo foocmd args... catthen: # Eg: catthen: # Load up stdin before issuing a command. catthen: # to defer taking the lock until ready with all of foodata. catthen: #!/bin/sh cc_x11: #!/bin/sh cccs: # cccs: # cccs: # - Cameron Simpson cccs: # Simple way to invoke cc for my code. cccs: #!/bin/sh cddiscinfo: # cddiscinfo: # - Cameron Simpson 14mar2001 cddiscinfo: # cddiscinfo: # Extract discid and track info from a CD as a preliminary to cddiscinfo: # constructing a FreeDB CDDB entry. Used by cdsubmit. cddiscinfo: #!/usr/bin/perl cddup: # cddup: # cddup: # - Cameron Simpson 08jan2005 cddup: # Duplicate an audio CD per the recipes in cdrecord(1). cddup: #!/bin/sh cds: # cds: # cds: # - Cameron Simpson 10arp2006 cds: # Look for CDs in various places. cds: #!/bin/sh -u cdsubmit: # cdsubmit: # cdsubmit: # - Cameron Simpson 25aug2001 cdsubmit: # Also write a cache entry into ~/.cddb for use by programs. cdsubmit: # Submit a CD description to the FreeDB CD Database. cdsubmit: #!/bin/sh -u cdtoc: # cdtoc: # - Cameron Simpson 14mar2001 cdtoc: # cdtoc: # Emit a table of contents for a CD. cdtoc: #!/usr/bin/perl cgid: # cgid: # cgid: # - Cameron Simpson 30dec97 cgid: # Call doCGI($cgiObj) for each request. cgid: # Use the specified perl file and then serve HTTP requests. cgid: #!/usr/bin/perl cgihtnisauth: # cgihtnisauth: # cgihtnisauth: # cgihtnisauth: # cgihtnisauth: # cgihtnisauth: # cgihtnisauth: # $userid=`cgihtnisauth`; cgihtnisauth: # - Cameron Simpson 12feb2001 cgihtnisauth: # chomp($userid); cgihtnisauth: # if ($? != 0) { print $userid; exit 0; } cgihtnisauth: # userid=`cgihtnisauth` || { echo "$userid"; exit 0; } cgihtnisauth: # 1 for failure, with 401 response on stdout. cgihtnisauth: # Exit status: 0 for a match, with userid on stdout. cgihtnisauth: # If the CGI envvar $REMOTE_USER is already set, just echo it and get out. cgihtnisauth: # Script to require UNIX NIS login for a CGI script. cgihtnisauth: # That spits out the 401 and exits cleanly on auth failure, cgihtnisauth: # Use in CGI perl script: cgihtnisauth: # Use in CGI sh script: cgihtnisauth: # and continues with the login name in $userid on auth success. cgihtnisauth: #!/bin/sh cgiwrap-stub: #!/bin/sh check: # check: # check: # Random system checks. check: #!/bin/sh checkzipmail: # checkzipmail: # checkzipmail: # - Cameron Simpson 14dec2000 checkzipmail: # Check my currently unforwarded email. checkzipmail: #!/bin/sh chfiles: # chfiles: # chfiles: # - Cameron Simpson 04jul2000 chfiles: # It's surprising how often I want this. chfiles: # Return a list of all *.[ch] files. chfiles: #!/bin/sh chkaddrs: # chkaddrs: # chkaddrs: # - Cameron Simpson 14oct2006 chkaddrs: # Check the IP addresses on a group of machines. chkaddrs: # Report addresses on more than one machine. chkaddrs: #!/bin/sh -u chkaliases: # chkaliases: # chkaliases: # - Cameron Simpson 26jul95 chkaliases: # Check for undeliverable addresses in system aliases. chkaliases: #!/bin/sh chkcase: # chkcase: # chkcase: # - Cameron Simpson 24oct98 chkcase: # Look for case conflicts in directories. chkcase: #!/usr/bin/perl chkfiles: # chkfiles: # chkfiles: # - Cameron Simpson 24aug96 chkfiles: # Examine a list of files to see which have changed. chkfiles: #!/usr/bin/perl chkhier: # chkhier: # chkhier: # - Cameron Simpson 19may2004 chkhier: # Syntax check a cs::Hier text file. chkhier: #!/usr/bin/perl chklock: # chklock: # chklock: # - Cameron Simpson 15jul2005 chklock: # Check currency of a lock. Presumes the lock is local (the pid is checked). chklock: #!/bin/sh chkmdstat: # chkmdstat: # chkmdstat: # - Cameron Simpson 27jun2005 chkmdstat: # Simple check and report failed metadevices from /proc/mdstat. chkmdstat: #!/bin/sh -u chkmspool: # chkmspool: # chkmspool: # - Cameron Simpson 15jan98 chkmspool: # Locate mail files not starting with "From ". Used after a crash. chkmspool: #!/bin/sh chkotpad: # chkotpad: # chkotpad: # - Cameron Simpson 24jul2000 chkotpad: # Check a pad file for matching its name. chkotpad: #!/usr/bin/perl chkslinks: # chkslinks: # chkslinks: # Courtesy of mcook@fendahl.dev.cdx.mot.com (Michael Cook). chkslinks: #!/usr/bin/perl chkugids: # chkugids: # chkugids: # - Cameron Simpson 24jul2005 chkugids: # Read passwd style lines from stdin, check uid and gid against /etc/passwd and /etc/group. chkugids: #!/bin/sh chserver: # chserver: # chserver: # chserver: # chserver: # chserver: # further components after the machine name. chserver: # - A directory name. This is distinguished by having chserver: # - A machine name, possibly with leading slashes. chserver: # chserver gold silver //blue*/server chserver: # Change links in /server on the specified machines. chserver: # Each machine named is either chserver: # For example, to point all the blue machines at silver one might say: chserver: # Machine names map to the directory //machine/server. chserver: # Oldserver and newserver are machine names, possibly with leading slashes. chserver: # The directories thus specified are walked, and all symlinks pointing chserver: # Usage: chserver [-a] oldserver newserver machines... chserver: # are also suitably manipulated. chserver: # are made. If the -a flag is supplied, symlinks of the form //oldserver/... chserver: # directly at //oldserver are removed, and new ones pointing at //newserver chserver: #!/usr/bin/perl cleanimdir: # cleanimdir: # cleanimdir: # - Cameron Simpson 27mar2003 cleanimdir: # Clean cruft from an image collection. cleanimdir: # Ignore .* names. cleanimdir: #!/bin/sh cleanlocks: # cleanlocks: # cleanlocks: # - Cameron Simpson 14jun2002 cleanlocks: # Remove obsolete lock directories for this host. cleanlocks: #!/bin/sh cleansubj: # cleansubj: # cleansubj: # - Cameron Simpson 14feb2002 cleansubj: # Strip multiple Re: stuff and [list] tags. cleansubj: # Tidy up Subject: lines. cleansubj: #!/bin/sed -f cleanurllist: # cleanurllist: # cleanurllist: # - Cameron Simpson 23jul2003 cleanurllist: # Clean up an input stream supposedly containing URLs. cleanurllist: # Code lifted from urlshow cleaning pass. cleanurllist: #!/usr/bin/sed -f cleanwhite: # cleanwhite: # cleanwhite: # - Cameron Simpson 19mar2003 cleanwhite: # Detab and strip trailing whitespace. cleanwhite: # Used to clean up copy/paste from a curses window. cleanwhite: #!/bin/sh clip: # clip: # clip: # Usage: clip [-r] [-f] [width] [--] [files...] clip: #!/usr/bin/perl clippath: #!/bin/sh cmdlog: # cmdlog: # cmdlog: # - Cameron Simpson 15dec2000 cmdlog: # Run command with output redirected to self-named log file. cmdlog: #!/bin/sh colhist: # colhist: # colhist: # - Cameron Simpson colhist: # Read columnated data, report values and counts. colhist: #!/bin/sh collate: #!/usr/bin/perl colour_echo: # colour_echo: # colour_echo: # Echo in colour. - Cameron Simpson colour_echo: #!/bin/sh -ue colour_highlight: # colour_highlight: # colour_highlight: # - Cameron Simpson 22sep1999 colour_highlight: # Highlight content matching sed regexps with a colour. colour_highlight: #!/bin/sh -ue colourise: # colourise: # colourise: # - Cameron Simpson 06may1999 colourise: # Perform a typical colourisation: stderr -> cyan. colourise: #!/bin/sh colsum: # colsum: # colsum: # - Cameron Simpson 19jan97 colsum: # Sum numbered columns on data. colsum: #!/bin/sh con: # con: # con: # - Cameron Simpson con: # Run a command with its output attached to the console. con: #!/bin/sh configcs: #!/bin/sh consolelog: # consolelog: #!/bin/sh copylog: # copylog: # copylog: # - Cameron Simpson , 27jul94 copylog: # Tail -f of various inlogspecs, copying the results to the log copylog: # specified by a logmap logspec. copylog: #!/usr/bin/perl cores: #!/bin/sh count: #!/bin/sh cpan-local: # cpan-local: # cpan-local: # - Cameron Simpson 03jan2003 cpan-local: # Do a CPAN install with the right options. cpan-local: #!/bin/sh cpdb: # cpdb: # cpdb: # - Cameron Simpson cpdb: #!/usr/bin/perl cpdir: # cpdir: # cpdir: # - Cameron Simpson cpdir: # Copy a directory tree - refuse if target exists as safety measure. cpdir: # Faster, safer, more accurate and more informative than "cp -rp". cpdir: #!/bin/sh -u cpmod: # cpmod: # cpmod: # - Cameron Simpson 05jan99 cpmod: # Copy file modes from one file to another. cpmod: #!/usr/bin/perl cpmysql: # cpmysql: # cpmysql: # - Cameron Simpson 28dec2006 cpmysql: # Adapted from dumpmysql and loadmysql. cpmysql: # Pull mysql databases from one mysql server to another. cpmysql: #!/bin/sh -u cppdefs: #!/bin/sh cpulimit: # cpulimit: # cpulimit: # 0 - command exited with 0. cpulimit: # 1 - command exited with nonzero. cpulimit: # 2 - command exited because of cpu limit. cpulimit: # - Cameron Simpson 15apr2004 cpulimit: # Exit status: cpulimit: # Set the cpulimit then run a command. cpulimit: #!/bin/sh cpwindir: # cpwindir: # cpwindir: # - Cameron Simpson 22jun2004 cpwindir: # Copy and then rsync an Windows-sourced directory. cpwindir: #!/bin/sh cs-aliases-add-email: # cs-aliases-add-email: # cs-aliases-add-email: # - Cameron Simpson 26apr2008 cs-aliases-add-email: # Add new email addresses from a mail message. cs-aliases-add-email: #!/bin/sh -ue cs-aliases: # cs-aliases: # cs-aliases: # - Cameron Simpson 26apr2008 cs-aliases: # Tool to manipulte my email address table. cs-aliases: #!/usr/bin/python -tt cs-edit: # cs-edit: # cs-edit: # - Cameron Simpson cs-edit: # But I am succumbing to the Dark Side and using vim a lot these days. cs-edit: # Historically I have used nvi, being an updated 8-bit clean real-vi descendant. cs-edit: # I blame syntax colouring eye candy for this. cs-edit: # Run _my_ preferred vi variant. cs-edit: #!/bin/sh cs-fvwm-poskeys: # cs-fvwm-poskeys: # cs-fvwm-poskeys: # - Cameron Simpson 20oct2007 cs-fvwm-poskeys: # Emit positioning key bindings for FVWM. cs-fvwm-poskeys: #!/usr/bin/python -tt cs-fvwmrc: # cs-fvwmrc: # cs-fvwmrc: # - Cameron Simpson 19aug2002 cs-fvwmrc: # Emit my FVWM RC file. cs-fvwmrc: #!/bin/sh -u cs-macvnc: # cs-macvnc: # cs-macvnc: # - Cameron Simpson 14mar2008 cs-macvnc: # Fire up COTVNC viewer, and matching vncserver if necessary. cs-macvnc: #!/bin/sh -ue cs-mutt-query: #!/bin/sh cs-x: # cs-x: # cs-x: # - Cameron Simpson 17dec2002 cs-x: # Extract various archive formats. cs-x: #!/bin/sh csb: #!/usr/bin/python -tt csbug-procmail: # csbug-procmail: # csbug-procmail: # - Cameron Simpson 06jul2005 csbug-procmail: # Handler for csbug email. csbug-procmail: #!/bin/sh -u csbug-tplt: # csbug-tplt: # csbug-tplt: # - Cameron Simpson 02jul2005 csbug-tplt: # Construct a new bug based on a template bug. csbug-tplt: #!/bin/sh -u cshook: #!/bin/sh csmkproto: # csmkproto: # csmkproto: # csmkproto: # - Cameron Simpson, 27sep93 csmkproto: # the same place. csmkproto: # BUGS: The CPP synchronicity goes to hell if the static and extern stuff go to csmkproto: # Believes stringly in my formatting style. csmkproto: # Extract prototypes from ANSI C source. csmkproto: #!/usr/bin/perl csml2html: # csml2html: #!/usr/bin/perl csproto: # csproto: # csproto: # csproto: # t2 b) csproto: # fn( t1 a, csproto: # fn(a,b) csproto: # t1 a; csproto: # t2 b; csproto: # type csproto: # type csproto: # { csproto: # { csproto: # Cameron Simpson, 10sep93 csproto: # Convert KnR C code of the form csproto: # into csproto: #!/usr/bin/perl csroff: # csroff: # csroff: # - Cameron Simpson, 01jan93 csroff: # Convert troff-like input to real troff or HGML. csroff: #!/usr/bin/perl csv2html: # csv2html: # csv2html: # - Cameron Simpson 10nov2006 csv2html: # Simple minded script to read CSV input and emit an HTML table. csv2html: #!/usr/bin/python -tt curjob: # curjob: # curjob: # - Cameron Simpson 05nov2004 curjob: # Infer relevant job from context. curjob: #!/bin/sh currentdesk: #!/bin/sh cutbuffer: # cutbuffer: # cutbuffer: # - Cameron Simpson 10aug2003 cutbuffer: # Manipulate CUT_BUFFER0 via xprop(1). cutbuffer: #!/bin/sh cvs-export2hg: # cvs-export2hg: # cvs-export2hg: # - Cameron Simpson 20apr2007 cvs-export2hg: # Doesn't understand branches. cvs-export2hg: # Export a CVS repository tree to Mercurial. cvs-export2hg: #!/bin/sh -u cvsdiff-rev: # cvsdiff-rev: # cvsdiff-rev: # - Cameron Simpson 11jun2005 cvsdiff-rev: # Print diff that made a particular cvs revision of a file. cvsdiff-rev: #!/bin/sh -u cvsdir: # cvsdir: # cvsdir: # - Cameron Simpson 24aug96 cvsdir: # Import a directory into cvs. cvsdir: #!/bin/sh cvsedit: # cvsedit: # cvsedit: # - Cameron Simpson 05mar1997 cvsedit: # Update a file, edit it, run a commit, commit the file. cvsedit: #!/bin/sh -u cvsfile-revs: # cvsfile-revs: # cvsfile-revs: # - Cameron Simpson 08apr2007 cvsfile-revs: # Report revision, date, author, antecedant directly from CVS RCS files. cvsfile-revs: #!/bin/sed -nf cvsif: # cvsif: # cvsif: # - Cameron Simpson 10dec2003 cvsif: # Do a cvs operation if file is in CVS. cvsif: #!/bin/sh cvslog2html - transcribe CVS logs to HTML or plain text cvslog: #!/bin/sh cvsrev: # cvsrev: # cvsrev: # - Cameron Simpson 11jun2005 cvsrev: # Report the revision of a particular file within a CVS checkout. cvsrev: #!/bin/sh -u cvsrevs: # cvsrevs: # cvsrevs: # - Cameron Simpson 06nov2003 cvsrevs: # Report revisions for a file in a CVS checkout. cvsrevs: #!/bin/sh cvsweb: #!/bin/sh cyclades: # cyclades: # cyclades: # - Cameron Simpson 18dec2002 cyclades: # Connect to our Cyclades console server. cyclades: #!/bin/sh darken: # darken: # darken: # - Cameron Simpson 21jul2000 darken: # Emit a darkened version of an image on stdout, in JPEG format. darken: # Essentially a wrapper for ppmdim. darken: #!/bin/sh dat: #!/bin/sh data2cbytes: # data2cbytes: # data2cbytes: # - Cameron Simpson 25apr2001 data2cbytes: # Read binary data from stdin. Write C data bytes of the form 0xXX to stdout, data2cbytes: # suitable for inclusion in a C char array or Java byte array. data2cbytes: #!/usr/bin/perl datevars: # datevars: # datevars: # - Cameron Simpson 13aug99 datevars: # Emit shell assignments to set date related variables. datevars: #!/usr/bin/perl dbdump: # dbdump: # dbdump: # - Cameron Simpson 13nov97 dbdump: # Dump a cs::Persist database. dbdump: #!/usr/bin/perl dbi2csv: # dbi2csv: # dbi2csv: # - Cameron Simpson 30sep99 dbi2csv: # Dump a MySQL table (later others, since it uses DBI) in .csv format. dbi2csv: #!/usr/bin/perl dblspc: #!/bin/sh dbm-unpack: # dbm-unpack: # dbm-unpack: # - Cameron Simpson 15aug2007 dbm-unpack: # Unpack the contents of a dbm file to stdout. dbm-unpack: #!/usr/bin/python dbm2gdbm: #!/bin/sh dbm: # dbm: # dbm: # Simple dbm file querier. dbm: #!/usr/bin/perl dbsplit: # dbsplit: # dbsplit: # - Cameron Simpson 07nov97 dbsplit: # Split flat db files into db directories. dbsplit: #!/bin/sh ddi: #!/bin/sh ddo: #!/bin/sh delif: # delif: # delif: # - Cameron Simpson 25jun2005 delif: # Bring down a logical interface, partner to addif. delif: #!/bin/sh -u deltail: #!/bin/sh deskbg: # deskbg: # deskbg: # - Cameron Simpson 02feb2004 deskbg: # Set the root background on per-desktop basis. deskbg: #!/bin/sh -u deskjob: # deskjob: # deskjob: # - Cameron Simpson deskjob: # Set the job id of the current desktop. deskjob: #!/bin/sh desktop-incant-bg: # desktop-incant-bg: # desktop-incant-bg: # - Cameron Simpson 28oct2004 desktop-incant-bg: # Incant desktop background stuff for FVWM. desktop-incant-bg: #!/bin/sh -u desktop-incant-names: # desktop-incant-names: # desktop-incant-names: # - Cameron Simpson 25aug2005 desktop-incant-names: # Incant fresh menus for named desktops. desktop-incant-names: #!/bin/sh -u desktop-incant: # desktop-incant: # desktop-incant: # - Cameron Simpson 24mar2003 desktop-incant: # Incant basic desktop settings except for backgrounds for FVWM. desktop-incant: #!/bin/sh -u desktop: # desktop: # desktop: # - Cameron Simpson 18jul2002 desktop: # Allocate (or reuse) a named desk, returning its number. desktop: # Manage named desktops for a session. desktop: #!/bin/sh -u deskvalue: # deskvalue: # deskvalue: # - Cameron Simpson 12jul2004 deskvalue: # Exit status: zero for a per-desk value, non-zero for the default value. deskvalue: # Return the appropriate value of the named parameter for the specified desk. deskvalue: #!/bin/sh detab: # detab: # detab: # Usage: detab [-tabsize] [--] [files...] detab: #!/usr/bin/perl dfh: # dfh: # dfh: # - Cameron Simpson dfh: # df the local filesystems. dfh: #!/bin/sh dfk: # dfk: # dfk: # - Cameron Simpson 24aug96 dfk: # df in kilobytes. dfk: #!/bin/sh dfltjob: #!/bin/sh dfree: # dfree: # dfree: # - Cameron Simpson 22jun2003 dfree: # Report free disc space in kilobytes or percent. dfree: #!/bin/sh dgrep: #!/bin/sh did: #!/bin/sh diffgroup: # diffgroup: # diffgroup: # - Cameron Simpson 12dec97 diffgroup: # Report differences between two group files. diffgroup: #!/usr/bin/perl diffu: # diffu: # diffu: # - Cameron Simpson diffu: # Wrapper for "diff -u". Supports line selection too. diffu: #!/bin/sh ding: #!/bin/sh dir2bm: # dir2bm: # dir2bm: # - Cameron Simpson 07apr2003 dir2bm: # Walk a directory unpacked from a bookmark file with bm2dir dir2bm: # and emit a bookmark file. dir2bm: #!/bin/sh dir2html: # dir2html: # dir2html: # - Cameron Simpson 09oct96 dir2html: # HTML index of a directory. dir2html: #!/bin/sh dir: #!/bin/sh dirjob: # dirjob: # dirjob: # - Cameron Simpson 04nov2004 dirjob: # Set or report the job for the current directory. dirjob: #!/bin/sh dirs: #!/bin/sh dirtidy: # dirtidy: # dirtidy: # - Cameron Simpson dirtidy: # Tidy up directories. dirtidy: #!/bin/sh dirusers: # dirusers: # dirusers: # - Cameron Simpson 23aug2005 dirusers: # Report users and groups involved in directories trees. dirusers: #!/bin/sh -u dl: # dl: # dl: # - Cameron Simpson 06sep2004 dl: # Log an action via buglog. dl: #!/bin/sh -u dlog-email: # dlog-email: # dlog-email: # - Cameron Simpson 30oct2005 dlog-email: # Read an email message from stdin and log with dlog. dlog-email: #!/bin/sh -u dlog: #!/bin/sh -u dlq: # dlq: # dlq: # - Cameron Simpson 06sep2004 dlq: # Pull matching lines from dlog. dlq: #!/bin/sh dod2html: # dod2html: # dod2html: # dod | dod2html dod2html: # Notice URLs mentioned in the urls.html file. dod2html: # Produce the current DoD listing in HTML. dod2html: #!/usr/bin/perl dod2mailrc: # dod2mailrc: # dod2mailrc: # - Cameron Simpson , 09sep94 dod2mailrc: # Convert the DoD list to a mailrc. dod2mailrc: # Emit classification problems to stdout. dod2mailrc: #!/usr/bin/perl dod: #!/bin/sh dodfaq: # dodfaq: # dodfaq: # To Answer The Call. dodfaq: #!/bin/sh dodftp: # dodftp: # dodftp: # FTP to the DoD archive site. dodftp: #!/bin/sh dodm: #!/bin/sh dodupd: #!/bin/sh dofetchmail: # dofetchmail: # dofetchmail: # - Cameron Simpson 28jun2005 dofetchmail: # The "run once" mode pulled from runfetchmail. dofetchmail: #!/bin/sh -u dogetmail: # dogetmail: # dogetmail: # - Cameron Simpson 18mar2006 dogetmail: # Run getmail once, like dofetchmail. dogetmail: #!/bin/sh -u doit: # doit: # doit: # - Cameron Simpson 03may2005 doit: # Run command, report completion to alert log. doit: #!/bin/sh doom: #!/bin/sh dosync: # dosync: # dosync: # - Cameron Simpson 14jan2004 dosync: # Sync hosts from master. dosync: #!/bin/sh dots: #!/bin/sh dpgp: # dpgp: #!/bin/sh dpp: # dpp: # dpp: # dpp: # #define sym text dpp: # #eval sym perl-expr dpp: # #if perl-expr dpp: # #includes dpp: # {ENVVAR} dpp: # Simpleminded preprocessor which does dpp: #!/usr/bin/perl dtree: # dtree: # An ancient incantation from the Ur-Net ... dtree: #!/bin/sh dts: # dts: # dts: # - Cameron Simpson 27oct2000 dts: # ISO date ==> UNIX time. dts: #!/usr/bin/perl dudiff: # dudiff: # dudiff: # - Cameron Simpson 24may95 dudiff: # Produce a difference listing of two du outputs. dudiff: #!/usr/bin/perl dufs: # dufs: #!/bin/sh -u duh: #!/bin/sh duk: # duk: # duk: # - Cameron Simpson 24aug1996 duk: # du in kilobytes. duk: #!/bin/sh dumbshar: # dumbshar: # Dumbshar - shar up simple files. dumbshar: #!/bin/sh dumbsmtpsend: # dumbsmtpsend: # dumbsmtpsend: # - Cameron Simpson 01mar2006 dumbsmtpsend: # Neither clever nor robust, but handy if the local sendmail is busted. dumbsmtpsend: # Read fully formatted email from stdin, send to addresses via named SMTP server. dumbsmtpsend: #!/bin/sh -u dumpcshenv: # dumpcshenv: # dumpcshenv: # - Cameron Simpson 04may98 dumpcshenv: # Source csh (gack!) script(s) then dumpenv. dumpcshenv: #!/bin/tcsh -f dumpenv: # dumpenv: # dumpenv: # dumpenv: # - Cameron Simpson 15may93 dumpenv: # Csh hack. - cameron, 23sep96 dumpenv: # Emit shell script to reload environment. dumpenv: # Persist Hack. - cameron, 02dec98 dumpenv: # Use cs::Shell.- cameron, 01dec98 dumpenv: #!/usr/bin/perl dumphotlist: # dumphotlist: # dumphotlist: # - Cameron Simpson 06sep95 dumphotlist: # Read hotlists, print in canonical form, clean lists. dumphotlist: #!/usr/bin/perl dumpmysql: # dumpmysql: # dumpmysql: # - Cameron Simpson dumpmysql: # Dump the databases from a MySQL database. dumpmysql: #!/bin/sh -u dumpuser: # dumpuser: # dumpuser: # dumpuser: # dumpuser: # - Cameron Simpson, 26may93 dumpuser: # ... dumpuser: # X dumpuser: # login dirs... dumpuser: # Dump users to archive. dumpuser: # Usage: dumpuser <<-X dumpuser: #!/bin/sh dupcs: #!/bin/sh dupd: # dupd: # dupd: # dupd: # - Cameron Simpson dupd: # .gz mode. - cameron 07may2007 dupd: # Async multidir mode. - cameron 23mar2007 dupd: # Expect .du-a,.du-s subdirs, get new files from dusum output. - cameron 20jun2007 dupd: # Notice changes in disc usage. dupd: # Timestamping. - cameron, 21mar1999 dupd: #!/bin/sh -u dupmodes: # dupmodes: # dupmodes: # - Cameron Simpson 30sep99 dupmodes: # Read path pairs from stdin and copy the modes from one to the other. dupmodes: #!/usr/bin/perl dusum: # dusum: # dusum: # dusum: # - Cameron Simpson dusum: # Extensions and usage. - cameron, 21mar1999 dusum: # Produce disc usage summaries. dusum: #!/bin/sh -u dvd2mp4: # dvd2mp4: # dvd2mp4: # Use handbrake to convert a DVD into dvd2mp4: #!/bin/sh -u dvdlabel: # dvdlabel: # dvdlabel: # - Cameron Simpson 17nov97 dvdlabel: # Emit a DVD or CD label as PostScript. dvdlabel: #!/bin/sh dvdnav: #!/bin/sh e-sync: #!/bin/sh e: # e: # e: # - Cameron Simpson 04may2002 e: # As with t, v and x, edit a file. e: #!/bin/sh -u edit: # edit: # edit: # - Cameron Simpson 27oct1995 edit: # Edit a file, making a template if needed. edit: #!/bin/sh edsl: # edsl: # edsl: # - Cameron Simpson 07mar2001 edsl: # Edit symlinks. edsl: #!/usr/bin/perl edsymlink: # edsymlink: # edsymlink: # - Cameron Simpson , 01sep94 edsymlink: # Edit the named symlinks. edsymlink: #!/usr/bin/perl eecho: #!/bin/sh eg: #!/bin/sh email-summary-line: # email-summary-line: # email-summary-line: # - Cameron Simpson 16apr2002 email-summary-line: # Read an email message from stdin and recite a summary line. email-summary-line: #!/bin/sh enq: # enq: #!/usr/bin/perl entar: # entar: # entar: # - Cameron Simpson 27jun2000 entar: # Run tar create with tidier verbose mode. entar: #!/usr/bin/perl enterdesk: # enterdesk: # enterdesk: # - Cameron Simpson 24mar2003 enterdesk: # Operations to perform when entering a desktop. enterdesk: #!/bin/sh -u entilde: # entilde: # entilde: # - Cameron Simpson entilde: # Put ~ in place of the user's home directory. entilde: # Usually a postfilter for psa and psu. entilde: #!/bin/sh enum: # enum: #!/usr/bin/perl env-dev: # env-dev: # env-dev: # - Cameron Simpson 25apr2007 env-dev: # Run command in development environment. env-dev: #!/bin/sh -ue envssh-basic: # envssh-basic: # - Cameron Simpson 20jan1999 envssh-basic: # envssh-basic: # Like envssh, but much simpler and faster. envssh-basic: #!/bin/sh envssh: # Ssh, obtain normal env, run command. - Cameron Simpson envssh: #!/bin/sh envsu: # envsu: # envsu: # - Cameron Simpson, January 1992 envsu: # Wrapper for su. If the first option begins with a dash, or there are arguments envsu: # after the login name, run a vanilla su. Otherwise pass much of our environment envsu: # through the su and exec the shell of our choice. envsu: #!/bin/sh envsub: # envsub: # envsub: # - Cameron Simpson, 22jun1993 envsub: # Lifted from my myke rule for installing manuals. envsub: # Substitute environment parameters into text. envsub: #!/usr/bin/perl envvalvar: # envvalvar: # - Cameron Simpson envvalvar: # command args... envvalvar: # command path-to-module args... envvalvar: # withco module envvalvar CONTEXTVAR command args... envvalvar: # envvalvar: # Intended as a helper for use inside commands like "withco" that place their conntext envvalvar: # Save the supplied value as the named environment variable and run the specified command. envvalvar: # Which is useful more often that you might think. envvalvar: # With this script one might go: envvalvar: # as the first arg of another command. I.e. "withco module command args.." runs: envvalvar: # the net result is to run: envvalvar: # with the environment variable $CONTEXTVAR set to path-to-module. envvalvar: #!/bin/sh eps: # eps: # eps: # - Cameron Simpson 21oct94 eps: # Default point: 0,0 eps: # Default size: natural size. eps: # Suck in an EPS file and emits PS to print it at a given point at a eps: # given size. eps: #!/usr/bin/perl erg: #!/bin/sh err2viloc: # err2viloc: # - Cameron Simpson 08sep2002 err2viloc: # err2viloc: # Doesn't like files with whitespace in their names. err2viloc: # Expecting a compile error message on stdin, pull out the filename and err2viloc: # line number and emit vi commands to go there. err2viloc: #!/bin/sh errno: #!/bin/sh espadd: # espadd: # espadd: # - Cameron Simpson 08feb96 espadd: # Submit addresses to ESP . espadd: #!/bin/sh et: # et: # et: # - Cameron Simpson 10may99 et: # Wrapper for eterm. et: #!/bin/sh etcsystem: # etcsystem: # etcsystem: # - Cameron Simpson 18jan2001 etcsystem: # Reads /etc/system formatted lines from stdin and updates the file with etcsystem: # Update a solaris /etc/system file with the specified values. etcsystem: # the max of the input value and the value in the file. etcsystem: #!/usr/bin/perl eth: #!/bin/sh evndx: # evndx: # evndx: # - Cameron Simpson 03may96 evndx: # Peruse a list of date-named files, directories and references and emit an evndx: # ordered HTML index. evndx: #!/bin/sh execif: # execif: # execif: # - Cameron Simpson 23jun1998 execif: # Exec command only if input is not empty. execif: #!/bin/sh -u execonly: # execonly: # execonly: # - Cameron Simpson 14jan98 execonly: # Stub to do nothing in place of some services like ssh-agent. execonly: #!/bin/sh exists: # exists: # exists: # - Cameron Simpson 22aug2000 exists: # Test for existence. (Stock test needs a -e like perl). exists: #!/bin/sh expand: # expand: # Usage: detab [-tabsize] [files...] expand: #!/usr/bin/perl expn: #!/bin/sh exrdb: #!/bin/sh ext2mime: # ext2mime: # ext2mime: # - Cameron Simpson 2003 ext2mime: # Infer MIME type from file extension. ext2mime: #!/bin/sh faces-w: # faces-w: # faces-w: # - Cameron Simpson 26apr2002 faces-w: # Emit a faces(1) input list from the w(1) command. faces-w: #!/usr/bin/perl faq: # faq: # faq: # - Cameron Simpson 03aug95 faq: # Emit the requested FAQ. faq: #!/bin/sh faxspool: # faxspool: # faxspool: # - Cameron Simpson 23may1997 faxspool: # Complete rewrite of the faxspool script. faxspool: #!/bin/sh fb: #!/bin/sh fdtee: # fdtee: #!/usr/bin/perl fetchback: #!/bin/sh fetchmailclause: # fetchmailclause: # fetchmailclause: # - Cameron Simpson 09sep2003 fetchmailclause: # Pull out a single clause from a .fetchmailrc file. fetchmailclause: # The parsing's a little simplistic but it works fairly well. fetchmailclause: #!/bin/sh fextract: # fextract: # fextract: # - Cameron Simpson, 18jan94 fextract: # Extract data from a stream. fextract: #!/usr/bin/perl ff08: #!/bin/sh ff09: #!/bin/sh ff10: #!/bin/sh ffcat: # ffcat: # ffcat: # - Cameron Simpson 14nov97 ffcat: # List files with form feeds between them. ffcat: #!/bin/sh file2mime: # file2mime: # file2mime: # - Cameron Simpson 14nov2002 file2mime: # Infer MIME type from file(1) output. file2mime: #!/bin/sh fileage: # fileage: # fileage: # - Cameron Simpson 18mar2005 fileage: # Print file age in seconds: now-mtime(file). fileage: #!/usr/bin/perl filecache: # filecache: # filecache: # - Cameron Simpson 18may2005 filecache: # Cache file or fetchable object by md5 sum and type. filecache: #!/bin/sh fileloc: # fileloc: # fileloc: # - Cameron Simpson 19may2005 fileloc: # Return or note file location based on md5 checksum. fileloc: #!/bin/sh -u filemailitem: # filemailitem: # filemailitem: # - Cameron Simpson 20apr2001 filemailitem: # Read mail item from stdin, file in a folder. filemailitem: # Tries to be pretty fast. filemailitem: #!/bin/sh -u filensmail: # filensmail: # filensmail: # - Cameron Simpson filensmail: # Refile any netscape mail folders into my real mail folders. filensmail: #!/bin/sh fileof: # fileof: # fileof: # - Cameron Simpson 27may2005 fileof: # Return a filecache path for an object such as an URL. fileof: #!/bin/sh -u files: #!/bin/sh filestats: # filestats: # filestats: # - Cameron Simpson 07jun99 filestats: # size path filestats: # Read filestats: # from stdin, write stats to stdout. filestats: #!/usr/bin/perl filter_fd: # filter_fd: # filter_fd: # filter_fd: # - Cameron Simpson 06may1999 filter_fd: # Filter an output file descriptor through an arbitrary shell command. filter_fd: # Multiple fds. - cameron, 23may1999 filter_fd: #!/bin/sh -u filteredit: # filteredit: # filteredit: # - Cameron Simpson 16jun1999 filteredit: # Do not rewrite if error or unchanged or empty result. filteredit: # Run a file through a filter and rewrite the file. filteredit: #!/bin/sh -u find-exec: # find-exec: # find-exec: # - Cameron Simpson 08nov2006 find-exec: # Locate and run a preferred executable. find-exec: #!/bin/sh -u findbase: # findbase: # findbase: # - Cameron Simpson 28nov97 findbase: # Read filenames from stdin. findbase: # Report basename and the directories in which it occurs on stdout. findbase: #!/usr/bin/perl findem: # findem: #!/bin/sh findmail: # findmail: # findmail: # Print Message-IDs of messages containing all specified patterns. findmail: #!/usr/bin/perl_gdbm findwords: # findwords: # findwords: # - Cameron Simpson 30jan97 findwords: # Find several words (egrep regexps) in files; findwords: # order the found files on the hit rate. findwords: #!/bin/sh fixdate:: # fixdate:: # fixdate:: # - Cameron Simpson 26may2004 fixdate:: # Turn bogus ctime Date:s into nice RFC822, a lie but at least syntacticly ok. fixdate:: #!/bin/sed -f fixdigesthdrs: # fixdigesthdrs: # fixdigesthdrs: # - Cameron Simpson 02sep2003 fixdigesthdrs: # Take the sad imitation of a digest message that Yahoo makes fixdigesthdrs: # and unindent the headers. fixdigesthdrs: #!/bin/sed -f fixexts: # fixexts: # fixexts: # fixexts: # - Cameron Simpson 22feb1999 fixexts: # Added "-i type" option to bypass file2mime. - cameron 19apr2005 fixexts: # Base entirely on file2mime and mimeext now. - cameron 24jul2003 fixexts: # Examine the named files and attach correct extensions to misnamed ones. fixexts: #!/bin/sh -u fixhtml: # fixhtml: # fixhtml: # - Cameron Simpson 31jul96 fixhtml: # Simple program to read HTML and emit clean HTML. fixhtml: #!/usr/bin/perl fixlastnl: # fixlastnl: # fixlastnl: # - Cameron Simpson 31may2002 fixlastnl: # Read some input and make sure it has a trailing newline. fixlastnl: # Which is slack. fixlastnl: # Why? Sed has historically discarded unterminated last lines, fixlastnl: # and I've just discovered that bash does so too in backticks. fixlastnl: #!/bin/sh fixnewsrc: # fixnewsrc: # fixnewsrc: # Usage: fixnewsrc < old-newsrc > new-newsrc fixnewsrc: #!/bin/sh fixnsr-linux: #!/bin/sh fixnsr-solaris: #!/bin/sh fixperms: # fixperms: # fixperms: # - Cameron Simpson 21jun2008 fixperms: # Walk a tree applying a permissions/ownership template. fixperms: #!/bin/sh -ue fixzipbounces: #!/bin/sh flag: # flag: # flag: # - Cameron Simpson 25sep2006 flag: # Simple boolean states kept as files. flag: #!/bin/sh -u flat: #!/usr/bin/perl flatten: #!/bin/sh fmenv: #!/bin/sh -u fmogrify: # fmogrify: # fmogrify: # - Cameron Simpson 16oct2000 fmogrify: # Wrapper for ImageMagick's mogrify so I can pipe into it. fmogrify: #!/bin/sh fmprod: #!/bin/sh fold: #!/usr/bin/perl foreach-pl: # foreach-pl: # foreach-pl: # - Cameron Simpson 01jul2004 foreach-pl: # A lot like "perl -ne" but with progress reporting. foreach-pl: # For each line of input run the supplied perl code. foreach-pl: #!/usr/bin/perl foreach2: # foreach2: # foreach2: # - Cameron Simpson 28jul2000 foreach2: # For line of stdin, run the supplied command with the line as argument, foreach2: # in parallel. Serialise output so it doesn't overlap. foreach2: #!/bin/sh foreach: # foreach: # foreach: # - Cameron Simpson 28jul2000 foreach: # For line of stdin, run the supplied command with the line as argument, foreach: # in parallel. Serialise output so it doesn't overlap. foreach: #!/bin/sh forever: # forever: # forever: # - Cameron Simpson 27apr2007 forever: # Run a command forever, optionally until failure. forever: #!/bin/sh -ue forktail: # forktail: #!/bin/sh forwtee: #!/bin/sh fplan: #!/bin/sh fsp: #!/opt/bin/perl_dbm fsp: #!/usr/bin/perl ftpdir: # ftpdir: #!/bin/sh fvwm-deskkeys: # fvwm-deskkeys: # - Cameron Simpson 10aug2002 fvwm-deskkeys: # Emit my FVWM desk switching key definitions. fvwm-deskkeys: #!/bin/sh fvwm-event: # fvwm-event: # fvwm-event: # - Cameron Simpson 03nov2004 fvwm-event: # Handle events reported by FvwmEvent. fvwm-event: #!/bin/sh fvwm-form-jobs: # fvwm-form-jobs: # fvwm-form-jobs: # - Cameron Simpson 11aug2003 fvwm-form-jobs: # Generate a form definition for manipulating my job list. fvwm-form-jobs: #!/bin/sh fvwm-form: # fvwm-form: # fvwm-form: # - Cameron Simpson 11aug2003 fvwm-form: # Emit a fresh FvwmForm definition and invocation. fvwm-form: #!/bin/sh fvwm-menu-bmdir: # fvwm-menu-bmdir: # fvwm-menu-bmdir: # fvwm-menu-bmdir: # - Cameron Simpson 02mar2003 fvwm-menu-bmdir: # Generate menu for a bookmark directory. fvwm-menu-bmdir: # Updated to use bmk bookmarks. - cameron 19apr2005 fvwm-menu-bmdir: #!/bin/sh -u fvwm-menu-desks: # fvwm-menu-desks: # fvwm-menu-desks: # - Cameron Simpson fvwm-menu-desks: # List named desktops and offer an operation for them, default: SwitchToDesk. fvwm-menu-desks: #!/bin/sh fvwm-menu-edits: #!/bin/sh fvwm-menu-edits: ##echo ENTRIES Exec edb -s mysql@$SYSTEMID TIMESHEETS_DB.ENTRIES ENTRY_ID fvwm-menu-edits: ##echo SHEETS Exec edb -s mysql@$SYSTEMID TIMESHEETS_DB.SHEETS CAL_DATE,USER_ID fvwm-menu-edits: ##echo USERS Exec edb -s mysql@$SYSTEMID SYSADMIN_DB.USERS fvwm-menu-hi: # fvwm-menu-hi: # fvwm-menu-hi: # - Cameron Simpson 14feb2003 fvwm-menu-hi: # Recite the named URLs map as an FVWM menu. fvwm-menu-hi: #!/bin/sh fvwm-menu-imlist: # fvwm-menu-imlist: # fvwm-menu-imlist: # - Cameron Simpson 19oct2002 fvwm-menu-imlist: # Generate actions for an image directory menu, with thumbnails. fvwm-menu-imlist: #!/bin/sh -u fvwm-menu-jobs: # fvwm-menu-jobs: # fvwm-menu-jobs: # - Cameron Simpson fvwm-menu-jobs: # List known jobs not in CLOSED state. fvwm-menu-jobs: #!/bin/sh fvwm-menu-recent-imlist: # fvwm-menu-recent-imlist: # fvwm-menu-recent-imlist: # - Cameron Simpson 19mar2003 fvwm-menu-recent-imlist: # Arguments as for lastn. fvwm-menu-recent-imlist: # Make recent imlist menu from log file on input. fvwm-menu-recent-imlist: #!/bin/sh fvwm-menu-recent-menubg: # fvwm-menu-recent-menubg: # fvwm-menu-recent-menubg: # - Cameron Simpson fvwm-menu-recent-menubg: # Recent menu backgrounds. fvwm-menu-recent-menubg: #!/bin/sh fvwm-menu-recent-rootbg: # fvwm-menu-recent-rootbg: # fvwm-menu-recent-rootbg: # - Cameron Simpson fvwm-menu-recent-rootbg: # Recent root backgrounds. fvwm-menu-recent-rootbg: #!/bin/sh fvwm-menu-recent-searches: #!/bin/sh fvwm-menu-recent-web-pages: #!/bin/sh fvwm-menu-recent-xclips: #!/bin/sh fvwm-menu-scr: #!/bin/sh fvwm-menu-tdl: # fvwm-menu-tdl: # fvwm-menu-tdl: # - Cameron Simpson 21jun2004 fvwm-menu-tdl: # Access TDL stuff. fvwm-menu-tdl: #!/bin/sh fvwm-menu-urls: # fvwm-menu-urls: # fvwm-menu-urls: # - Cameron Simpson 14feb2003 fvwm-menu-urls: # Recite the named URLs map as an FVWM menu. fvwm-menu-urls: #!/bin/sh fvwm-menu-xclips: # fvwm-menu-xclips: # fvwm-menu-xclips: # - Cameron Simpson 22apr2001 fvwm-menu-xclips: # Emit the arguments suitably quoted for passing via the shell. fvwm-menu-xclips: #!/usr/bin/perl fvwm-menu: # fvwm-menu: # fvwm-menu: # - Cameron Simpson 18may2002 fvwm-menu: # Generate a self generating FVWM menu. fvwm-menu: #!/bin/sh -u fvwm-menu: ##alert "$0 $*" fvwm-movewin: # fvwm-movewin: # fvwm-movewin: # - Cameron Simpson 01jun2007 fvwm-movewin: # Emit a raise/resize/[animated]move as specified. fvwm-movewin: #!/usr/bin/python -tt fvwm-started: #!/bin/sh fvwm-started: ## desktop-incant-bg -q fvwm-started: ## nice desktop-incant-bg -d 1 fvwmcmd: # fvwmcmd: # fvwmcmd: # - Cameron Simpson 18may2005 fvwmcmd: # Hand commands to FVWM with optional delay. fvwmcmd: #!/bin/sh -u fvwmevlog: #!/bin/sh fvwmmon: # fvwmmon: # fvwmmon: # - Cameron Simpson 20aug2001 fvwmmon: # Spurred into implementation by Mozilla 0.9.3's completely fucked new window fvwmmon: # Watch the FVWM Event Log and do stuff when things happen. fvwmmon: # placement policy. fvwmmon: #!/usr/bin/perl fw-ALL: # fw-ALL: # fw-ALL: # - Cameron Simpson 14jun2004 fw-ALL: # Permit ALL traffic to/from specified hosts (or "ALL"). fw-ALL: #!/bin/sh -u fw-REJECT: # fw-REJECT: # fw-REJECT: # - Cameron Simpson fw-REJECT: # Add trailing REJECT rules to the specified chains. fw-REJECT: # First yanks any existing wildcard REJECTs. fw-REJECT: #!/bin/sh -u fw-flushchains: # fw-flushchains: # fw-flushchains: # - Cameron Simpson 18oct2003 fw-flushchains: # Toss all chains, remake LOG* and FW_* chains. fw-flushchains: #!/bin/sh -u fw-ntp.conf: # fw-ntp.conf: # fw-ntp.conf: # - Cameron Simpson 18oct2003 fw-ntp.conf: # Permit NTP queries to the nominated NTP hosts. fw-ntp.conf: #!/bin/sh -u fw-policy: # fw-policy: # fw-policy: # - Cameron Simpson 18oct2003 fw-policy: # Set policies. fw-policy: #!/bin/sh -u fw-resolv.conf: # fw-resolv.conf: # fw-resolv.conf: # - Cameron Simpson 18oct2003 fw-resolv.conf: # Permit DNS queries to the nominated DNS hosts. fw-resolv.conf: #!/bin/sh -u fw-tcp-ftp-out-pasv: # fw-tcp-ftp-out-pasv: # fw-tcp-ftp-out-pasv: # - Cameron Simpson 21mar2004 fw-tcp-ftp-out-pasv: # Permit PASV FTP to hosts. fw-tcp-ftp-out-pasv: # This needs to be upgraded to do the stateful FTP connection tracking fw-tcp-ftp-out-pasv: # instead of this open slather for the high ports. fw-tcp-ftp-out-pasv: #!/bin/sh -u fw-tcp-in: # fw-tcp-in: # fw-tcp-in: # - Cameron Simpson 18oct2003 fw-tcp-in: # Permit outgoing traffic for a service to specified hosts (or "ALL"). fw-tcp-in: #!/bin/sh -u fw-tcp-out: # fw-tcp-out: # fw-tcp-out: # - Cameron Simpson 18oct2003 fw-tcp-out: # Permit outgoing traffic for a service to specified hosts (or "ALL"). fw-tcp-out: #!/bin/sh -u fw-udp-in: # fw-udp-in: # fw-udp-in: # - Cameron Simpson 18oct2003 fw-udp-in: # Permit incoming UDP traffic for a service from specified hosts (or "ALL"). fw-udp-in: #!/bin/sh -u fw-udp-out: # fw-udp-out: # fw-udp-out: # - Cameron Simpson 18oct2003 fw-udp-out: # Permit outgoing traffic for a service to specified hosts (or "ALL"). fw-udp-out: #!/bin/sh -u g+s: #!/bin/sh g: #!/bin/sh -u gcc_clean: # gcc_clean: # gcc_clean: # Invoke @ARGV and filter output. gcc_clean: #!/usr/bin/perl gccanal: # gccanal: # gccanal: # gccanal: # - Cameron Simpson 28mar1999 gccanal: # And then the superficially bogus "In function" message. - cameron 11jun2000 gccanal: # Filter out some noise. - cameron, 24may1999 gccanal: # Gcc with pretty much everything turned on, for maximally gccanal: # paranoid code (well, it gets a lot of the common things). gccanal: #!/bin/sh gccanal: ## set -x genv: # genv: # genv: # - Cameron Simpson 23jun2005 genv: # Edit the global environment file. genv: #!/bin/sh -u get-gpg-agent: # get-gpg-agent: # get-gpg-agent: # - Cameron Simpson 30mar2005 get-gpg-agent: # Get the daemonised gpg-agent info, as for get-ssh-agent. get-gpg-agent: #!/bin/sh get-ssh-agent: # get-ssh-agent: # get-ssh-agent: # - Cameron Simpson 30jul2001 get-ssh-agent: # Get the daemonised ssh-agent info. get-ssh-agent: #!/bin/sh get-ssh-hostkey: #!/bin/sh getacc: # getacc: # getacc: # - Cameron Simpson 29jun2004 getacc: # Pull my account from somewhere. getacc: #!/bin/sh getcvsfile: # getcvsfile: # getcvsfile: # - Cameron Simpson 06nov2003 getcvsfile: # Pull a file or directory from CVS and put it in the current directory. getcvsfile: #!/bin/sh getnews: # getnews: # getnews: # - Cameron Simpson getnews: # Collect USENET news articles and feed to procmail. getnews: #!/usr/bin/perl -w getoptusmail: # getoptusmail: # getoptusmail: # - Cameron Simpson 09nov2000 getoptusmail: # Fetchmail from optus@home, forward to zip. getoptusmail: #!/bin/sh getpageims: #!/bin/sh getpageurls: #!/bin/sh getpgpkeyid: # getpgpkeyid: # getpgpkeyid: # - Cameron Simpson 01feb2000 getpgpkeyid: # Given key ids, fetch data from Bal's Public Key Server. getpgpkeyid: #!/bin/sh getpodoverview: # getpodoverview: # getpodoverview: # - Cameron Simpson 01jul2003 getpodoverview: # Extract Overview paragraph from POD document, optionally HTMLise it. getpodoverview: #!/bin/sh getpwnam: # getpwnam: # getpwnam: # - Cameron Simpson 03nov2005 getpwnam: # Print a passwd line for the specified user. getpwnam: #!/usr/bin/perl getrhupdates: # getrhupdates: # getrhupdates: # - Cameron Simpson 07sep2003 getrhupdates: # Update a mirror of the RedHat updates for just the RPMs on this machine. getrhupdates: #!/bin/sh getsnoopstats: # getsnoopstats: # getsnoopstats: # - Cameron Simpson 15jan99 getsnoopstats: # Gather stats for later graphing. getsnoopstats: #!/bin/sh gh: #!/bin/sh gids: # gids: # gids: # - Cameron Simpson 12jun2002 gids: # List numeric group ids for a user by reverse "groups" list. gids: #!/bin/sh gif2jpg: # gif2jpg: # gif2jpg: # - Cameron Simpson gif2jpg: #!/bin/sh gimp-batch: # gimp-batch: # gimp-batch: # - Cameron Simpson 10nov2003 gimp-batch: # Run the gimp in batch mode with less pain. gimp-batch: #!/bin/sh glob: #!/bin/sh gmail: #!/bin/sh gmap-plot-cross-streets: # gmap-plot-cross-streets: # gmap-plot-cross-streets: # - Cameron Simpson 28jun2007 gmap-plot-cross-streets: # Read |-separated cross street locations on stdin, plot map. gmap-plot-cross-streets: #!/bin/sh -ue gmap-sydney-busses-route: # gmap-sydney-busses-route: # gmap-sydney-busses-route: # - Cameron Simpson 28jun2007 gmap-sydney-busses-route: # Take a Sydney bus route name and plot it inbound and/or outbound. gmap-sydney-busses-route: #!/bin/sh -ue gmap: # gmap: # gmap: # - Cameron Simpson gmap: # Pop up a google map. gmap: #!/bin/sh -ue gmarks: #!/bin/sh gmenv: #!/bin/sh -u gmprod: #!/bin/sh gopherget: # gopherget: # gopherget: # Collect a file via Gopher. gopherget: #!/usr/bin/perl gpg-agent-statefile: # gpg-agent-statefile: # gpg-agent-statefile: # - Cameron Simpson 30mar2005 gpg-agent-statefile: # Default location for stashing GnuPG agent state envvars. gpg-agent-statefile: #!/bin/sh gpgedit: # gpgedit: # gpgedit: # - Cameron Simpson 28oct2003 gpgedit: # Edit a GPG encrypted file. Derived from gpgedit. gpgedit: #!/bin/sh gpi: #!/bin/sh gpu: # gpu: # gpu: # Asynchronous getpageurls. - Cameron Simpson gpu: #!/bin/sh -u gpui: #!/bin/sh gpun: #!/bin/sh grabaddrs-all: # grabaddrs-all: # grabaddrs-all: # - Cameron Simpson 11dec2005 grabaddrs-all: # Read a mail item on stdin, grab all addresses from headers. grabaddrs-all: #!/bin/sed -nf grabaddrs: # grabaddrs: # grabaddrs: # - Cameron Simpson 31jan2001 grabaddrs: # Read RFC822 headers on stdin and emit addresses suitable for use in Mutt external queries. grabaddrs: #!/usr/bin/perl grabaliases: # grabaliases: # grabaliases: # - Cameron Simpson 10dec2005 grabaliases: # Read mail item, grab unknown addresses, prepend to mutt aliases file, edit. grabaliases: #!/bin/sh -u grabmlru: # grabmlru: # grabmlru: # - Cameron Simpson 05mar2002 grabmlru: # Collect Carl Paukstis' Mailing List Round-Up and update my HTMLised version. grabmlru: #!/bin/sh grabstdin: # grabstdin: # grabstdin: # - Cameron Simpson 16sep98 grabstdin: # Collect stdin and bg the named command, sending output to the grabstdin: # console log, IGNHUPed. grabstdin: #!/bin/sh grepall: # grepall: # grepall: # - Cameron Simpson 12nov2001 grepall: # Grep all lines from stdin containing all the command line regexps. grepall: #!/bin/sh greponly: # greponly: # greponly: # - Cameron Simpson 14feb2006 greponly: # Print all strings matching the supplied regexp. greponly: #!/bin/sh -u grepwideimg: # grepwideimg: # grepwideimg: # - Cameron Simpson 28feb2001 grepwideimg: # List images whose width > height, eg to pick some wallpaper. grepwideimg: #!/bin/sh groupshare: # groupshare: # groupshare: # - chgrp to named group groupshare: # - group r/w groupshare: # - setgid dirs groupshare: # - Cameron Simpson 27sep2000 groupshare: # Configure directory trees for group sharing: groupshare: #!/bin/sh -u gs10: # gs10: # gs10: # - Cameron Simpson 12aug2001 gs10: # Quick'n'dirty upload from Canon digital camera. gs10: #!/bin/sh gz: #!/bin/sh gzif: # gzif: # gzif: # - Cameron Simpson gzif: # Gzip a bunch of files. gzif: # If file.gz exists, gzcat|cmp to compare, discard file if the same. gzif: #!/bin/sh -u handle-xscreensaver-event: # handle-xscreensaver-event: # handle-xscreensaver-event: # - Cameron Simpson 28jul2003 handle-xscreensaver-event: # Called from watchxscreensaver. handle-xscreensaver-event: # Handle a single xscreensaver event. handle-xscreensaver-event: #!/bin/sh have-gpg-agent: # have-gpg-agent: # have-gpg-agent: # - Cameron Simpson 30mar2005 have-gpg-agent: # Test whether we have a gpg-agent to hand. have-gpg-agent: #!/bin/sh have-ssh-agent: # have-ssh-agent: # have-ssh-agent: # - Cameron Simpson 03jul2004 have-ssh-agent: # 0: ok and has some keys, 1: ok but no keys, 2: no agent have-ssh-agent: # Test whether we have an ssh-agent to hand. have-ssh-agent: #!/bin/sh -u hb: # hb: # hb: # --ipod Default options for iPod conversation at 320x240 resolution. hb: # - Cameron Simpson 25apr2006 hb: # Wrapper for handbrake, accepting handbrake options and some convenience hb: # options: hb: #!/bin/sh -u hdb2js: # hdb2js: # hdb2js: # - Cameron Simpson 17apr98 hdb2js: # Convert cs::Hier dbs into JavaScript code. hdb2js: #!/usr/bin/perl hdraddrs: # hdraddrs: # hdraddrs: # - Cameron Simpson 24may2002 hdraddrs: # Return the addresses from a set of headers. hdraddrs: #!/usr/bin/perl hexify-GETfield: # hexify-GETfield: # hexify-GETfield: # - Cameron Simpson 19nov98 hexify-GETfield: # Escape the value of a query value for URL embedding. hexify-GETfield: #!/bin/sh hexify: #!/usr/bin/perl hfiles: # hfiles: # hfiles: # - Cameron Simpson 09jul2001 hfiles: # It's surprising how often I want this. hfiles: # Return a list of all *.h files. hfiles: #!/bin/sh hglog: # hglog: # hglog: # - Cameron Simpson 15jan2008 hglog: # Emit more succinct Mercurial change log. hglog: #!/bin/sh -ue hi2bm: # hi2bm: # hi2bm: # - Cameron Simpson 07apr2003 hi2bm: # Take a set of URL lists and generate a block for manual insertion into a hi2bm: # bookmark file. hi2bm: #!/bin/sh hi: # hi: # hi: # The good morning stuff. - Cameron Simpson hi: #!/bin/sh highlight: # highlight: # highlight: # - Cameron Simpson highlight: # Highlist (by overstriking) text matching a regexp in the input. highlight: # On a terminal you probably want colour_highlight instead of this. highlight: #!/usr/bin/perl histbackup-prune: # histbackup-prune: # histbackup-prune: # - Cameron Simpson 22jun2003 histbackup-prune: # Prune a tree from a histbackup directory histbackup-prune: # if the disc is too full. histbackup-prune: #!/bin/sh -u hl: #!/bin/sh hollow: # hollow: # hollow: # hollow: # - Aidan, 10Nov94 hollow: # - Cameron, 29mar94 hollow: # -c corelim Corelimits other than zero. hollow: # -d dir Cd to dir before running the requisite program. hollow: # Options: hollow: # Pulled out the hack to run different X servers, hollow: # Wrapper for things which dump core. hollow: # it isn't needed anymore hollow: #!/bin/sh homebackup: # homebackup: # homebackup: # - Cameron Simpson 13may2004 homebackup: # Backup home account from hosts. homebackup: #!/bin/sh host-ssh-agent: # host-ssh-agent: # host-ssh-agent: # - Cameron Simpson 13jun2006 host-ssh-agent: # Connect to the per-host ssh-agent, starting it if necessary. host-ssh-agent: #!/bin/sh -u hostalias: # hostalias: # hostalias: # - Cameron Simpson 25jul99 hostalias: # Mostly used to tell my main sites about where I just dialed in from. hostalias: # Record address of host. hostalias: #!/bin/sh hostips: # hostips: # hostips: # - Cameron Simpson 31jul2004 hostips: # NB: doesn't complain if there are no matches. hostips: # Read hostnames or ips on stdin or from command line, recite their IPs on stdout. hostips: #!/bin/sh hostsync: # hostsync: # hostsync: # - Cameron Simpson 03apr2000 hostsync: # Hotsync my Palm. hostsync: #!/bin/sh hotfwd: # hotfwd: # hotfwd: # - Cameron Simpson 16jul2005 hotfwd: # Fire up port forwarding ssh on demand. hotfwd: # To be run as handler for tcpio to forward traffic as needed. hotfwd: #!/bin/sh -u hotjava: #!/bin/sh hotlist2html: # hotlist2html: # hotlist2html: # - Cameron Simpson, cs@zip.com.au, 10jun94 hotlist2html: # Read hotlist data from stdin and emit HTML equivalent. hotlist2html: #!/usr/bin/perl hotlist2pndx: # hotlist2pndx: # hotlist2pndx: # - Cameron Simpson 06may97 hotlist2pndx: # Convert hotlist data to an HTML permuted index. hotlist2pndx: #!/bin/sh hotsync: # hotsync: # hotsync: # - Cameron Simpson 03apr2000 hotsync: # Backup my current hotsync and then sync from my palm. hotsync: #!/bin/sh hsi: # hsi: # hsi: # - Cameron Simpson , 19jul94 hsi: # Manage an hierachical subject index. hsi: #!/usr/bin/perl htauth: # htauth: # htauth: # - Cameron Simpson htauth: # Naturally this is mega insecure (depending on cs::HTTP::Auth, but that htauth: # Stash a login/password for use at a web site. htauth: # happens to be just a cleartext file) and so not for more that trivial uses. htauth: #!/usr/bin/perl htc: # htc: # htc: # - Cameron Simpson 02feb2001 htc: # Scour a web page with htclean. htc: #!/bin/sh htclean-proxy: # htclean-proxy: # htclean-proxy: # - Cameron Simpson 5jan2001 htclean-proxy: # Simple HTTP proxy to htclean a web feed. htclean-proxy: #!/usr/bin/perl htclean: # htclean: # htclean: # - Cameron Simpson 03mar99 htclean: # Do various scourings of input HTML. htclean: #!/usr/bin/perl htencode: # htencode: # htencode: # - Cameron Simpson 09jul2003 htencode: # Turn plain text into HTML-safe plain text. htencode: #!/bin/sed -f htextract: # htextract: # htextract: # - Cameron Simpson, cs@zip.com.au, 15jun94 htextract: # Extract tokens from HTML. htextract: #!/usr/bin/perl htforms: # htforms: # htforms: # - Cameron Simpson 03mar1999 htforms: # Extract forms from HTML on stdin. htforms: #!/usr/bin/perl htg: #!/bin/sh html-line-anchors: # html-line-anchors: # html-line-anchors: # - Cameron Simpson 11nov2003 html-line-anchors: # Add line number anchors to HTML input. html-line-anchors: #!/usr/bin/perl -p html-title: # html-title: # html-title: # - Cameron Simpson 15may2005 html-title: # Doomed to failure because MANY MANY web pages are completely badly formed. html-title: # Try to guess suitable title string from HTML data. Try TITLE then H1. html-title: #!/bin/sh -u html-unsplit: # html-unsplit: # html-unsplit: # - Cameron Simpson 15may2005 html-unsplit: # Join lines where a tag is split across the line end. html-unsplit: # Makes subsequent parsing much easier. html-unsplit: #!/bin/sed -f html2mm: # html2mm: # html2mm: # html2mm: # - Cameron Simpson , 08jul94 html2mm: # Better nested tag support. - cameron, 01jul98 html2mm: # Convert HTML to troff-mm macros for printing. html2mm: # TABLE support. - cameron, 30jun98 html2mm: #!/usr/bin/perl html2pod: # html2pod: # html2pod: # - Cameron Simpson 10apr2004 html2pod: # Do a bunch of simplistic recodings to effect a lot of the html2pod: # grunt work of converting an HTML file into a POD file. html2pod: # headings html2pod: #!/bin/sed -f html2txt: # html2txt: # html2txt: # - Cameron Simpson 21oct94 html2txt: # Convert HTML to printable stuff. html2txt: #!/bin/sh html: # html: # html: # - Cameron Simpson 21nov96 html: # List/manipulate info in HTML documents. html: #!/bin/sh htmlbody: # htmlbody: # htmlbody: # - Cameron Simpson 18may2004 htmlbody: # A bit simple minded but works pretty widely. htmlbody: # Grab the of some HTML on stdin. htmlbody: #!/bin/sh htmlptx: # htmlptx: # htmlptx: # htmlptx: # - Cameron Simpson 11nov2003 htmlptx: # htmlptx: # file left-context keyword right-context line-number htmlptx: # Generate a permuted index of the specified HTML files. htmlptx: # HTML has an: htmlptx: # The -html option presumes that each physical source line number "n" of the htmlptx: # UnHTML output has the form: htmlptx: # at the start to use as an anchor. See html-line-anchors. htmlptx: # tab separated. htmlptx: #!/bin/sh htmltst: # htmltst: # htmltst: # - Cameron Simpson , 08jul94 htmltst: # Convert HTML to troff-mm macros for printing. htmltst: #!/usr/bin/perl htmluntag: # htmluntag: # htmluntag: # - Cameron Simpson 11nov2003 htmluntag: # Remove most HTML tags from input so as to leave "plain text". htmluntag: #!/usr/bin/perl -p htnisauth: # htnisauth: # htnisauth: # htnisauth: # - Cameron Simpson 15feb2001 htnisauth: # 0 Login and password match. htnisauth: # 1 Mismatch or lookup failure. htnisauth: # 2 Usage (invocation error). htnisauth: # Exit status: htnisauth: # Verify authentication using UNIX NIS crypt password for a CGI script. htnisauth: #!/bin/sh htparse: # htparse: # htparse: # - Cameron Simpson, cs@zip.com.au, 15jun94 htparse: # Extract tokens from HTML. htparse: #!/usr/bin/perl htrewrite: # htrewrite: # htrewrite: # - Cameron Simpson 19dec97 htrewrite: # Read loose HTML, emit clean HTML. htrewrite: #!/usr/bin/perl htsave: # htsave: # htsave: # - Cameron Simpson 05jan2003 htsave: # Save a web page for future reference. htsave: #!/bin/sh htstr: #!/bin/sh -u httables: # httables: # httables: # - Cameron Simpson 03apr2001 httables: # Extract tables from HTML. httables: #!/usr/bin/perl http: #!/bin/sh httpget - download web pages httpquery: # httpquery: # httpquery: # - Cameron Simpson 11dec96 httpquery: # Make a query for a GET-style form. httpquery: #!/usr/bin/perl httpwalk: # httpwalk: # httpwalk: # Walk an http hierarchy. - Cameron Simpson, 22mar94 httpwalk: #!/usr/bin/perl htuntoc: # htuntoc: # htuntoc: # - Cameron Simpson 18may2004 htuntoc: # Fetch a web page that's a table of contents, and all the pages it references. htuntoc: # Generate a fresh flat page with everything in it for printing. htuntoc: # Peruse the TOC, offer up the links in document order for selection. htuntoc: #!/bin/sh htv: # htv: # htv: # - Cameron Simpson htv: # Look at the results of an HTTP fetch. htv: #!/bin/sh humantime: # humantime: # humantime: # - Cameron Simpson humantime: # Crudely report a period of seconds in human friendly units. humantime: # Pulled code from xlo. humantime: #!/bin/sh hupsquid: #!/bin/sh hxd: # hxd: # hxd: # Hex dump. - Cameron Simpson , 04jul94 hxd: #!/usr/bin/perl iat-edit: # iat-edit: # iat-edit: # - Cameron Simpson 08jul2008 iat-edit: # Editor wrapper for the It's All Text! firefox extension. iat-edit: # Updated for MacOSX/iTerm environment here and in the "e" and "term" scripts. iat-edit: #!/bin/sh -ue icw: # icw: # icw: # Wrapper for icontact to figure out optimal layout for contact sheet. icw: #!/usr/bin/perl idset: # idset: # idset: # idset: # - Cameron Simpson 18jul2002 idset: # Each subdir has a "name" file (and other attrs as desired). idset: # Generalised from desktop 01apr2003. idset: # Manage a list of identifiers and their attributes. idset: # Method: idset: # We keep a directory of numbered subdirs. idset: #!/bin/sh -u idsetlist: # idsetlist: # idsetlist: # - Cameron Simpson 14jul2003 idsetlist: # Report the specified fields from entries in an idset. idsetlist: # See fvwm-menu-jobs and joblist for example use. idsetlist: # This is really a speed thing for scripts wanting several attributes from several entries. idsetlist: #!/usr/bin/perl ifconfig-info: # ifconfig-info: # ifconfig-info: # - Cameron Simpson 10apr2006 ifconfig-info: # Return specified value from an interface. ifconfig-info: #!/bin/sh -u ifconfig2sysconfig: # ifconfig2sysconfig: # ifconfig2sysconfig: # - Cameron Simpson 29dec2004 ifconfig2sysconfig: # Write a static RedHat style ifcfg-eth0 file from ifconfig output. ifconfig2sysconfig: #!/bin/sh ifcvs: # ifcvs: # ifcvs: # ifcvs: # - Cameron Simpson 23feb2003 ifcvs: # - Cameron Simpson 27jun2003 ifcvs: # If command supplied, run it with cvsedit (if needed). ifcvs: # Test if a particular file is CVS maintained. ifcvs: #!/bin/sh ifempty: # ifempty: # ifempty: # - Cameron Simpson 06nov2003 ifempty: # Run command if named file is empty or missing. ifempty: #!/bin/sh iffetchmail: # iffetchmail: # iffetchmail: # - Cameron Simpson 26jan2003 iffetchmail: # Fetchmail returns several error codes, some of which are ok. iffetchmail: # Transmute. iffetchmail: #!/bin/sh ifmon: # ifmon: # ifmon: # - Cameron Simpson 22may2002 ifmon: # Linux specific, alas, since it uses the /proc/net/dev file. ifmon: # Monitor throughput on the named interfaces. ifmon: #!/usr/bin/perl ifnewfile: # ifnewfile: # ifnewfile: # - Cameron Simpson 19may2005 ifnewfile: # Run command if specified file not known to "fileloc". With no args, just test. ifnewfile: #!/bin/sh -u ifpid: # ifpid: # ifpid: # - Cameron Simpson 28mar2005 ifpid: # Test that a process exists (and may be signalled). ifpid: #!/bin/sh -u ifremote: #!/bin/sh ifvnc: #!/bin/sh ignhup: # ignhup: # ignhup: # ignhup: # ignhup: # - Cameron Simpson 01aug2001 ignhup: # trap '' 1; exec ${1+"$@"} ignhup: # This was once a shell script saying ignhup: # but since AFAIK in perl you can't test for a signal being in "ignored" state ignhup: # some of my perl scripts which catch SIGHUP were undoing the simplicity of ignhup: # that, so I want a setsid as well, which means this becomes a perl script. ignhup: #!/usr/bin/perl il2html: # il2html: # il2html: # A spartan Interleaf->HTML by Hartmut Wilhelms of the il2html: # Atmos Science Programme Office, German Remote Sensing Data Center. il2html: # It operates on Interleaf files saved in ASCII mode. il2html: #!/bin/sh ilbmtogif: #!/bin/sh ilk: # ilk: # ilk: # - Cameron Simpson 07jun96 ilk: # Are we of a particular ilk? ilk: #!/bin/sh im2html: # im2html: # im2html: # im2html: # im2html: # - Cameron Simpson 14feb96 im2html: # Freshmeat release: 1.01 im2html: # Produce gallery indices with and without frames. im2html: # Recode. - cameron 13apr99 im2html: #!/usr/bin/perl imagedb: # imagedb: #!/usr/bin/perl imindex: # imindex: #!/usr/bin/perl iminfo: # iminfo: # iminfo: # - Cameron Simpson 03jun2003 iminfo: # For my mailcap file, since my mailcap parser doesn't handle embedded iminfo: # Trivial text-only report on an image. iminfo: # semicolons in the command part. iminfo: #!/bin/sh imlist-search: # imlist-search: # imlist-search: # - Cameron Simpson 16jun2004 imlist-search: # Read an imlist (x y pathname) from stdin, choose images from it as specified. imlist-search: # See also: pickim. imlist-search: #!/usr/bin/perl -w imlist-update: # imlist-update: # imlist-update: # - Cameron Simpson 19jun2004 imlist-update: # Read image paths on stdin, update index file. imlist-update: #!/usr/bin/perl -w imq: # imq: # imq: # - Cameron Simpson 23jun2005 imq: # Look for images in several search engines. imq: #!/bin/sh -u imresize: # imresize: # imresize: # - Cameron Simpson 12feb98 imresize: # Squirrel away XbyY-sized versions of images. imresize: #!/bin/sh imsize-gm: # imsize-gm: # imsize-gm: # - Cameron Simpson 30jan2004 imsize-gm: # Imsize using "gm identify" instead of perl's Image::Size. imsize-gm: #!/bin/sh imsize: # imsize: # imsize: # imsize: # imsize: # - Cameron Simpson 01jun1999 imsize: # x y filename imsize: # Output is imsize: # Report image sizes. imsize: # Usage: imsize [filenames...] imsize: # for each supplied name. imsize: #!/usr/bin/perl imul: # imul: # imul: # - Cameron Simpson 08jan2002 imul: # Annotate a PNG image file, writing result to stdout. imul: #!/usr/bin/perl -w incd: # incd: # incd: # - Cameron Simpson 05mar2003 incd: # Run command in another directory. incd: #!/bin/sh inco: # inco: # inco: # - Cameron Simpson 04jul2003 inco: # Run command in a temporary checkout. inco: #!/bin/sh -u info2man: # info2man: # info2man: # - Cameron Simpson 01nov2000 info2man: # Convert info to -man format. info2man: #!/bin/sh info2pod: # info2pod: # info2pod: # info2pod: # info2pod: # info2pod: # info2pod: # info2pod: # approach people should be able to expect. info2pod: # do the right thing. info2pod: # info file". Of course, the only way to do that is to fire up emacs info2pod: # into other tools sucks info2pod: # like a pager at all and violates the "use my preferred pager" info2pod: # maintain this page, and it's probably a pack of lies - go read the info2pod: # manual entries, each prefaced with "we like info, so we don't info2pod: # or to use their weird info tool, which doesn't act much info2pod: # - Cameron Simpson 14nov1999 info2pod: # - I want my ordinary "man" command to find info files and info2pod: # - info's too stupid to read stdin, so incorporating it info2pod: # - the GNU people are arrogant scum, and produce farces of info2pod: # Accordingly, since the Perl people can get this right (POD converts handily info2pod: # Convert info file into POD, largely because: info2pod: # Real coding begins. - 20sep2000 info2pod: # Request from Hamish Macintyre for this. info2pod: # to all sorts of stuff), here is info2pod, which can be piped to pod2man info2pod: # to make manual entries. info2pod: #!/usr/bin/perl -w infotoc: # infotoc: # infotoc: # - Cameron Simpson 08sep99 infotoc: # Grep the node information from a GNU info file. infotoc: #!/bin/sh inondx: # inondx: # inondx: # Update inode index from named files or stdin if none supplied. inondx: #!/usr/bin/perl_gdbm insert-lines: # insert-lines: # insert-lines: # - Cameron Simpson 01aug2004 insert-lines: # Insert lines from stdin into a file after a marker line identified by a insert-lines: # regexp. insert-lines: #!/bin/sh int: # int: # int: # - Cameron Simpson 28jul2003 int: # Log an interruption and lock my screen. int: #!/bin/sh inx: # inx: # inx: # - Cameron Simpson 08mar2004 inx: # Unpack an archive into a temp dir then run a command in the dir. inx: #!/bin/sh isjob: # isjob: # isjob: # - Cameron Simpson 30jun2003 isjob: # Check if the specified key is a known job key. isjob: #!/bin/sh ismaildir: # ismaildir: # ismaildir: # - Cameron Simpson 13jul2004 ismaildir: # Is a path a maildir folder? ismaildir: #!/bin/sh ismhdir: #!/bin/sh isodate: # isodate: # isodate: # Believe the claims that -% works everywhere these days. - cameron 06jun2000 isodate: # ISOise the returns. - cameron 27mar1998 isodate: # Return today's day code. - Cameron Simpson 16jun1994 isodate: # Solaris 2.6 is feeding me full day and month names! - cameron 05apr2000 isodate: #!/bin/sh issymlink: # issymlink: # issymlink: # issymlink: # issymlink: # - Cameron Simpson 10nov2000 issymlink: # - Cameron Simpson 13jun2004 issymlink: # - Cameron Simpson 16oct2001 issymlink: # Check is something is a symlink. issymlink: # Switch from playing shell games to using readsymlink. issymlink: # Switch to using ksh. issymlink: #!/usr/bin/ksh jargon: # jargon: # jargon: # Consult the jargon file. - Cameron Simpson, 04nov92 jargon: #!/bin/sh java-expand@author: # java-expand@author: # java-expand@author: # - Cameron Simpson 14mar2003 java-expand@author: # Expand @author tags to have home page and email HREFs. java-expand@author: #!/bin/sh java-setbts: # java-setbts: # java-setbts: # - Cameron Simpson 19dec2002 java-setbts: # Record build timestamp in suitable .java file for use as a String. java-setbts: #!/bin/sh javaprereqs: #!/bin/sh jgraphpad: # Fire up jgraphpad. - Cameron Simpson 23jan2003 jgraphpad: #!/bin/sh job: # job: # job: # - Cameron Simpson 30jun2003 job: # Log job activity and time. job: #!/bin/sh joblist: # joblist: # joblist: # - Cameron Simpson 14jul2003 joblist: # Report the specified fields from all jobs. joblist: # See fvwm-menu-jobs for example use. joblist: # This is really a speed thing for scripts wanting several attributes from several jobs. joblist: #!/bin/sh jobreport: # jobreport: # jobreport: # - Cameron Simpson 01jul2003 jobreport: # Report time for jobs by category. jobreport: #!/bin/sh jobtimer: # jobtimer: # jobtimer: # - Cameron Simpson 01jul2003 jobtimer: # Do stuff with the timer idset. jobtimer: #!/bin/sh jobtype: # jobtype: # jobtype: # - Cameron Simpson 30jun2003 jobtype: # Set job type. jobtype: #!/bin/sh jpg: #!/bin/sh jpgscale: # jpgscale: # jpgscale: # - Cameron Simpson jpgscale: # Resize a JPEG image, outputs JPEG by default, with a few simple alternatives. jpgscale: #!/bin/sh jpurl: # jpurl: # jpurl: # - Cameron Simpson 04jun2003 jpurl: # Pop up translated web page. jpurl: #!/bin/sh jspref: # jspref: # jspref: # - Cameron Simpson 25aug98 jspref: # Simple stub to edit preferences.js files. jspref: #!/usr/bin/perl juke: # juke: # juke: # - Cameron Simpson 01jun2002 juke: # Runs a player in the background, reads keyword selections and commands juke: # Simple jukebox. juke: # in the foreground. juke: #!/bin/sh -u k0: #!/bin/sh keepfirst: # keepfirst: # keepfirst: # keepfirst: # - Cameron Simpson keepfirst: # Converted to awk, made simple filter. - cameron keepfirst: # Keep first instances of lines. keepfirst: #!/usr/bin/awk -f keeplast: # keeplast: # keeplast: # keeplast: # - Cameron Simpson keeplast: # Converted to awk, made simple filter. - cameron keeplast: # Keep last instances of lines. keeplast: #!/usr/bin/awk -f keys: #!/bin/sh -u kickme: #!/bin/sh killafter: # killafter: # killafter: # - Cameron Simpson 16sep2006 killafter: # Run a command and then kill a process afterwards. killafter: #!/bin/sh -u killloadmeters: #!/bin/sh killpidfile: # killpidfile: # killpidfile: # - Cameron Simpson 15jan2005 killpidfile: # Kill the pid kept in the supplied pid files. killpidfile: #!/bin/sh -u killx2x: # killx2x: # killx2x: # - Cameron Simpson 08mar2005 killx2x: # Kill my x2x process. killx2x: #!/bin/sh killzdtexecs: # killzdtexecs: # killzdtexecs: # - Cameron Simpson 17oct2001 killzdtexecs: # CDE under Solaris 8 leaks dtexec processes. killzdtexecs: # This script tidies up. killzdtexecs: #!/bin/sh kml-go: # kml-go: # kml-go: # - Cameron Simpson 18jan2007 kml-go: # Emit a KML GroundOverley section. kml-go: #!/bin/sh -u kml: # kml: # kml: # - Cameron Simpson 08jun2007 kml: # Emit KML output. kml: #!/bin/sh -ue kmoz: #!/bin/sh -u ksquid: # ksquid: # ksquid: # HUP my squid. - Cameron Simpson 13jul2005 ksquid: #!/bin/sh -u label: # label: #!/bin/sh labhosts: # labhosts: #!/bin/ae lastn: # lastn: # lastn: # - Cameron Simpson 19mar2003 lastn: # Return the last page (or nth-last) of lines from a log file lastn: # for use in things like fvwm-menu-recent-menubg and so forth. lastn: #!/bin/sh lastrxvtbg: #!/bin/sh lastvalue: # lastvalue: # lastvalue: # - Cameron Simpson 02dec2002 lastvalue: # Stash or report the last value of some parameter. lastvalue: #!/bin/sh latest: # latest: # latest: # latest: # - Cameron Simpson 17apr2001 latest: # - cameron 07jun2001 latest: # Add -o to pass other, unversioned, files through. latest: # Aimed primarily at things like the GNU source archive, which has many latest: # Given a listing of files, emit only the latest versions. latest: # versions of things but of which we want to mirror only the latest. latest: #!/usr/bin/perl lc: # lc: # lc: # - Cameron Simpson lc: # Lowercase a bunch of pathnames. lc: #!/bin/sh lcu2html: # lcu2html: # lcu2html: # - Cameron Simpson 04jun2001 lcu2html: # Read a .CSV file from my credit union's internet banking facility lcu2html: # and emit an HTML table. lcu2html: #!/usr/bin/perl ldapq: # ldapq: # ldapq: # - Cameron Simpson ldapq: # Quick'n'easy ldapsearch. ldapq: #!/bin/sh -u ldif-unfold: # ldif-unfold: # ldif-unfold: # - Cameron Simpson ldif-unfold: # Unfold leading-space-folded text, such as LDIF. ldif-unfold: #!/bin/sh -u ldp: #!/bin/sh ldpath: # ldpath: # ldpath: # - Cameron Simpson 04jan2001 ldpath: # Amend the LD_LIBRARY_PATH (which should normally be empty anyway) ldpath: # and then run some program which needs special lib loading. ldpath: #!/bin/sh leo: #!/bin/sh lgrep: # lgrep: # lgrep: # - Cameron Simpson 10dec96 lgrep: # Locate symbols in libraries. lgrep: #!/bin/sh libcat: #!/bin/sh libs: #!/bin/sh linkisos: # linkisos: # linkisos: # - Cameron Simpson 09mar2004 linkisos: # Locate ISO images in a directory tree and make available linkisos: # for loopback mount in the local tree. linkisos: #!/bin/sh links: # links: # links: # links: # +n Files with more than n links. links: # -ls Do an ls -ld of the file. links: # -n Files with less than n links. links: # -rm Remove the file. links: # -x Print the find command issued. links: # n Files with exactly n links. links: # - Cameron Simpson links: # Find based on link count. links: # Leading arguments are shorthand: links: #!/bin/sh linkstats: # linkstats: # linkstats: # - Cameron Simpson linkstats: #!/usr/bin/perl linktree - make a hardlinked copy of a directory tree lintcs: #!/bin/sh listfiles: # listfiles: # listfiles: # - Cameron Simpson 01jun2002 listfiles: # Offer a list of files. listfiles: # The common code from the bglist command, extracted to do generic selection listfiles: # to support picking audio files. listfiles: #!/bin/sh -u lncp: # lncp: # lncp: # - Cameron Simpson lncp: # Link or copy (link preferred). lncp: #!/bin/sh lntree: # lntree: # lntree: # - Cameron Simpson 25nov99 lntree: # Make a directory tree matching another, hardlinking the contents lntree: # from the original to the new one. lntree: #!/usr/bin/perl loadav: #!/bin/sh loadmysql: # loadmysql: # loadmysql: # - Cameron Simpson 04aug2005 loadmysql: # Load up a mysql server from scratch, using dumped tables from another db. loadmysql: #!/bin/sh -u localldpath: # localldpath: # localldpath: # - Cameron Simpson 01feb2000 localldpath: # Wire in the core ldpath. localldpath: #!/bin/sh lock - obtain a lock before running a command locked: # locked: # locked: # - Cameron Simpson 03may1999 locked: # Check if a particular lock is taken. locked: #!/bin/sh lockedcat: # lockedcat: # lockedcat: # - Cameron Simpson 25jul2000 lockedcat: # Sequenced cat command. See lockedoutput. lockedcat: #!/bin/sh lockedit: # lockedit: # lockedit: # - Cameron Simpson 16jun1999 lockedit: # Lock a file, edit, release. lockedit: #!/bin/sh lockedoutput: # lockedoutput: # lockedoutput: # lockedoutput: # lockedoutput: # - Cameron Simpson 25jul2000 lockedoutput: # do lockedoutput lockname command & lockedoutput: # done | something lockedoutput: # for n in a b c ... lockedoutput: # Runs "command" and takes lock when output commences so that lockedoutput: # Sequenced output. Used for shell loop parallelising, viz: lockedoutput: # the command outputs are not damaged through interleaving. lockedoutput: #!/bin/sh lockinfo: # lockinfo: # lockinfo: # - Cameron Simpson 27may2002 lockinfo: # Report info on the named lock(s), or all locks. lockinfo: #!/bin/sh log-fvwm-event: #!/bin/sh log-hg-commit: # log-hg-commit: # log-hg-commit: # - Cameron Simpson 25apr2007 log-hg-commit: # Record a Mercurial commit. log-hg-commit: #!/bin/sh -ue log-monitor: # log-monitor: # log-monitor: # - Cameron Simpson 18jul2008 log-monitor: # Monitor log files. log-monitor: #!/usr/bin/env python2.5 logbuild: # logbuild: # logbuild: # $HOME/var/log/build/pkg-arch-host-date.gz logbuild: # - Cameron Simpson 28aug2000 logbuild: # Run a new shell inside a script command, logging to the file logbuild: # Too often was I building things and losing the details. logbuild: #!/bin/sh logcmd: # logcmd: # logcmd: # - Cameron Simpson 26nov2004 logcmd: # Log the output of a command. logcmd: #!/bin/sh logging-modify: # logging-modify: # logging-modify: # - Cameron Simpson 04aug2004 logging-modify: # Modify something and record the diff. logging-modify: #!/bin/sh -u loggingprocmail: # Hack to log all my email while I debug my delivery scripts. loggingprocmail: #!/bin/sh loginenv: # loginenv: # loginenv: # - Cameron Simpson 23mar99 loginenv: # Caveat: you're running this as _you_, so you're at the mercy of whatever loginenv: # Obtain a user's login environment then run the supplied command. loginenv: # Requires that their login files be readable. loginenv: # they might stuff into their startup. loginenv: #!/bin/sh logmap: # logmap: # logmap: # - Cameron Simpson , 21jul94 logmap: # Manipulate the log map. logmap: #!/usr/bin/perl logproxy: # logproxy: # logproxy: # - Cameron Simpson 04sep2001 logproxy: # Set up a server which forwards to another server, logging things as logproxy: # they go. Intended for debugging web transactions. logproxy: #!/bin/sh logpwd: #!/bin/sh logroll: # logroll: # logroll: # - Cameron Simpson 10oct1997 logroll: # Roll over a logfile; HUP daemon. logroll: #!/bin/sh logscript: # logscript: # logscript: # - Cameron Simpson 18may2002 logscript: # Hands the output log to buglog if there is a log message.. logscript: # Run and log a script session. logscript: #!/bin/sh -u logsquash: #!/usr/bin/perl logtally: # logtally: # logtally: # logtally: # - Cameron Simpson 14jan99 logtally: # PNG image logtally: # start duration size class other-fields logtally: # Input format: logtally: # Output: logtally: # Parse generic logs and graph. Generalised from squidlogtally. logtally: #!/usr/bin/perl logto: # logto: # logto: # - Cameron Simpson 12jun2008 logto: # Append standard input to a log file. logto: # Rotate the file on receiving SIGHUP. logto: #!/usr/bin/python -tt lomount: # lomount: # lomount: # - Cameron Simpson 12jul2000 lomount: # Do a loopback mount of a file containing a filesystem. lomount: # Linux specific at present. See also loumount. lomount: #!/bin/sh loopstat: # loopstat: # loopstat: # - Cameron Simpson, 01mar94 loopstat: # Hack to keep amd caching alive. Jeez. loopstat: #!/bin/sh loumount: # loumount: # loumount: # - Cameron Simpson 24nov2001 loumount: # Reverse an lomount. See lomount. loumount: #!/bin/sh lpqdup: # lpqdup: # lpqdup: # lpqdup: # Usage: lpqdup queuename lpqdup: # Walks the specified queue removing the second and following jobs for a user. lpqdup: #!/usr/bin/perl lprestart: # lprestart: # lprestart: # lprestart: # - Cameron Simpson 03mar98 lprestart: # Full paths for use via rsh etc. - cameron, 24jun98 lprestart: # Stop lp queue, flush, restart. lprestart: #!/bin/sh lsdbm: #!/usr/bin/perl lsftp: #!/bin/sh lside: #!/bin/sh lsn: # lsn: #!/bin/sh lsof-count: # lsof-count: # lsof-count: # - Cameron Simpson 10oct2005 lsof-count: # Count the TCP states in lsof output, which should come from stdin. lsof-count: #!/bin/sh lt: #!/bin/sh ltr: #!/bin/sh ltrd: #!/bin/sh lwpr: # lwpr: #!/bin/sh lwrename2: # lwrename2: # lwrename2: # - Cameron Simpson 20aug2003 lwrename2: # Recode of Larry Wall's rename script. lwrename2: #!/usr/bin/perl -w m3edit: # m3edit: # m3edit: # - Cameron Simpson 24apr2007 m3edit: # Yet another 3 way merge/edit tool. m3edit: #!/bin/sh -uex m: #!/bin/sh mac2cisco: # mac2cisco: # mac2cisco: # - Cameron Simpson 19aug99 mac2cisco: # Convert an ethernet address into CISCO format. mac2cisco: #!/usr/bin/perl macify: # macify: # macify: # macify: # macify: # macify: # macify: # macify: # macify my-unix-music-dir my-mac-dir-for-copying macify: # - Cameron Simpson 09may2006 macify: # Example: macify: # Prepare filenames for transport to a MacOSX machine # by converting Latin-1 macify: # Such names will still be valid on a UNIX filesystem, and be accepted by macify: # This command operates in two modes. macify: # With two arguments the first is taken to be a directory with Latin-1 macify: # Without arguments it reads strings from standard input, macify: # a MacOSX HFS filesystem, which rejects attempts to make filenames with macify: # and writes the original string and the UTF-8 Normal Form D version macify: # encoded filenames and the seconds is a directory to be populated macify: # encoded filenames into UTF-8 Normal Form D encoded filenames. macify: # from the first directory to the second. This may be run incrementally; macify: # hard link from the original made. macify: # if a name already exists in the second directory, if it is a link to macify: # invalid NFD UTF8 byte sequence names. macify: # presumes them to be ISO8859-1 (Latin-1) encoded, macify: # the original file it is left alone; if not it is unlinked and a macify: # to standard output on separate lines. macify: # with UTF-8 NFD encoded names. This is done by hardlinking files macify: #!/usr/bin/python -tt mail-addr-regexp: # mail-addr-regexp: # mail-addr-regexp: # - Cameron Simpson 18mar2007 mail-addr-regexp: # Read email addresses from stdin, emit matching regexp on stdout. mail-addr-regexp: #!/bin/sh -u mail-despam: # mail-despam: # - Cameron Simpson 26mar2004 mail-despam: # mail-despam: # Spam filter every item in an MH or maildir folder. mail-despam: #!/bin/sh -u mail-despool: # mail-despool: # mail-despool: # - Cameron Simpson 30oct2005 mail-despool: # Process all messages in a maildir or MH dir against the dir's .procmailrc. mail-despool: #!/bin/sh -ue mail-expire-auto: # mail-expire-auto: # mail-expire-auto: # - Cameron Simpson mail-expire-auto: # Regular email expiry action. mail-expire-auto: #!/bin/sh -u mail-expire: # mail-expire: # - Cameron Simpson 02aug2006 mail-expire: # mail-expire: # Archive older mail from several mail folders. mail-expire: #!/bin/sh -u mail-fixhdrs: # mail-fixhdrs: # mail-fixhdrs: # - Cameron Simpson 10jan2002 mail-fixhdrs: # Fix some fuckups by egroups.com's digest maker. mail-fixhdrs: #!/bin/sed -f mail-folder-gz: # mail-folder-gz: # mail-folder-gz: # - Cameron Simpson 04nov2006 mail-folder-gz: # Convert a maildir into a compressed mbox file. mail-folder-gz: # Intended for archived email. mail-folder-gz: #!/bin/sh -u mail-folder-mbox2maildir: # mail-folder-mbox2maildir: # mail-folder-mbox2maildir: # - Cameron Simpson 08nov2006 mail-folder-mbox2maildir: # Convert an mbox mail folder into a maildir folder. mail-folder-mbox2maildir: #!/bin/sh -u mailcap: # mailcap: # mailcap: # - Cameron Simpson 14nov2002 mailcap: # Return the mailcap action for the supplied MIME type. mailcap: #!/bin/sh maildir-cat: # maildir-cat: # maildir-cat: # - Cameron Simpson 09nov2006 maildir-cat: # List the contents of a maildir folder in mbox format. maildir-cat: #!/usr/bin/python -tt maildir-expire: # maildir-expire: # maildir-expire: # - Cameron Simpson 05aug2006 maildir-expire: # Roll messages older than "days" from maildir maildir-expire: # into archivedir/date/`basename maildir`. maildir-expire: #!/usr/bin/python -tt maildir-messages: #!/bin/sh -u maildir: # maildir: # maildir: # - Cameron Simpson 08jul2004 maildir: # Make a mailbox folder and tmp,new,cur (so mutt recognises it). maildir: #!/bin/sh maildiritem2fileitem: # maildiritem2fileitem: # maildiritem2fileitem: # - Cameron Simpson 27mar2000 maildiritem2fileitem: # Convert a single file from a directory of single item mail files to maildiritem2fileitem: # something useful for storing in a UNIX format multiitem mail file. maildiritem2fileitem: #!/bin/sed -f maildrop: # maildrop: # maildrop: # maildrop: # - Cameron Simpson 26sep1996 maildrop: # Added requeue facility. - cameron, 10oct1994 maildrop: # Queue mail for delivery. maildrop: # Recoded in perl. - cameron, 07oct1994 maildrop: # Recoded in shell. - cameron, 26sep1996 maildrop: #!/bin/sh mailexec: # mailexec: # mailexec: # - Cameron Simpson 19oct2005 mailexec: # Run a command handing stdout and stderr to mailsubj. mailexec: #!/bin/sh -u mailfolderpath: # mailfolderpath: # mailfolderpath: # - Cameron Simpson 08jul2004 mailfolderpath: # Take a folder name and return the file path to it. mailfolderpath: # Yanked from "+" for use there and in filemailitem. mailfolderpath: #!/bin/sh -u mailif: # mailif: # mailif: # mailif: # mailif: # - Cameron Simpson mailif: # Break into execif and mailsubj. - cameron, 23jun1998 mailif: # Send mail only if input is not empty. mailif: # Usage: mailif [-s subject] addresses... mailif: #!/bin/sh mailitem-date: # mailitem-date: # It requires a date(1) that accepts a '-d datestring' option. mailitem-date: # Return the date of a mail message, as formatted by the date(1) command. mailitem-date: #!/bin/sh -u mailman-procmail: # mailman-procmail: # mailman-procmail: # - Cameron Simpson 16may2001 mailman-procmail: # mailman -> postmaster mailman-procmail: # mailman-list -> wrapper post list mailman-procmail: # mailman-list-* -> wrapper * list mailman-procmail: # Handler for email delivered to mailman. mailman-procmail: # Invoked from procmail. mailman-procmail: #!/bin/sh mailrepack-inunpack: # mailrepack-inunpack: # mailrepack-inunpack: # - Cameron Simpson 08jul2002 mailrepack-inunpack: # Called by mailrepack to build and send the new message. mailrepack-inunpack: #!/bin/sh mailrepack: # mailrepack: # mailrepack: # - Cameron Simpson 09jul2002 mailrepack: # Unpack a mail message from stdin and repack, then hand to delivery tool. mailrepack: #!/bin/sh mailsubj: # mailsubj: # mailsubj: # - Cameron Simpson 23jun1998 mailsubj: # Send mail with subject line. mailsubj: # point at sendmail; if not there hope $PATH finds it mailsubj: #!/bin/sh mailsum: # mailsum: # mailsum: # - Cameron Simpson , 13jul94 mailsum: # Summarise the named mail items to stdout. mailsum: #!/usr/bin/perl mailtos: #!/bin/sh mailundigest: # mailundigest: # mailundigest: # - Cameron Simpson 09jan2002 mailundigest: # Based on the undigestifier in "man procmailex" but considerably fleshed out. mailundigest: # Wrapper for procmail and formail to explode a digest into a particular folder. mailundigest: #!/bin/sh mailunpack: # mailunpack: # mailunpack: # - Cameron Simpson 03dec2001 mailunpack: # If a command is supplied, run that after extraction. mailunpack: # If no command is supplied and if the shell script autoexec.sh is present in mailunpack: # Otherwise use "mrg" to merge the files into the target directory. mailunpack: # the directory, run that after extraction. mailunpack: # After extraction, _within_ that subdirectory: mailunpack: # Extract all components of an email message with munpack into the specified mailunpack: # Extraction actually happens in a new subdirectory of the target. mailunpack: # directory. mailunpack: #!/bin/sh -u mailxref: # mailxref: # mailxref: # - Cameron Simpson 18jan2005 mailxref: # File the email on stdin through the xref procmailrc. mailxref: #!/bin/sh man: # man: # man: # - Cameron Simpson 11may1997 man: # My manual command, having given up on the bogosities of the others. man: #!/usr/bin/perl manpp: # manpp: #!/bin/sh manroff: # manroff: #!/bin/sh matchpwdlog: # matchpwdlog: # matchpwdlog: # - Cameron Simpson 18feb98 matchpwdlog: # Locate latest best match in pwdlog for use by cd alias. matchpwdlog: #!/usr/bin/perl maxlinelen: # maxlinelen: # maxlinelen: # - Cameron Simpson 03oct2005 maxlinelen: # Report length of the longest line in the input data. maxlinelen: #!/bin/sh mbg: #!/bin/sh mbox-toc: #!/bin/sh mcat: # mcat: # mcat: # - Cameron Simpson mcat: # Output the contents of a MIME file, decoded. mcat: #!/usr/bin/perl mcode: # mcode: # mcode: # - Cameron Simpson 01feb2004 mcode: # Modular arithmetic on YYYYMM numbers. mcode: #!/bin/sh mcollate: # mcollate: # mcollate: # mcollate: # pattern2) snarf=1 passthru= ;; # keep and not pass thru mcollate: # shell-pattern) snarf=1 ;; # keep copies here mcollate: # - Cameron Simpson 01nov96 mcollate: # case "$subject" in mcollate: # esac mcollate: # (by default a copy arrives in the user's mail file, too). mcollate: # Each directory contains a short shell script, viz: mcollate: # Intercept email items and deposit in the named directories. mcollate: # Setting $passthru to the empty string will prevent delivery via normal mail mcollate: # Setting $snarf to 1 will cause the item to be saved in the directory. mcollate: # The variables $subject and $from are set to the first line of the respective mcollate: # headers with leading white space removed and upper case lowered. mcollate: #!/bin/sh md2f: # md2f: # md2f: # - Cameron Simpson 03feb97 md2f: # Collect a dir full of distinct mail files into a single UNIX mail file. md2f: #!/bin/sh md5comm: # md5comm: # md5comm: # index and 4 is the name in the md5comm: # second md5comm: # files present and the same in both, column 3 is the name in the first md5comm: # files present only in the first listing, or different md5comm: # files present only in the second listing, or different md5comm: # - Cameron Simpson 20jun2000 md5comm: # Compare two md5index outputs after the fashion of comm(1), md5comm: # producing 4 columns of output: md5comm: #!/usr/bin/perl md5index: # md5index: # md5index: # md5index: # - cameron 13apr1999 md5index: # - Cameron Simpson 27oct1997 md5index: # Back out to plain MD5 stuff. - cameron 20jun2000 md5index: # Now lives off the cs::Image::DB module so they use the same hashes. md5index: # Read filenames, emit "size:MD5 filename". md5index: # Recoded to use MD5 module and be simpler. - cameron 30nov1998 md5index: #!/usr/bin/perl md5match: # md5match: # md5match: # - Cameron Simpson 21jun2000 md5match: # size:md5\tfilename md5match: # size:md5\tfilename\tmd5index\tindex-filename md5match: # (as produced by the md5index script) named on the command line. md5match: # Output is lines containing either just: md5match: # Read filenames from stdin and match them against md5indices md5match: # being the name from the index. md5match: # for a match on an md5index file, with "index-filename" md5match: # for no match or md5match: #!/bin/sh md5medium: # md5medium: # md5medium: # - Cameron Simpson 03jul2000 md5medium: # Save an md5index of a whole medium. md5medium: #!/bin/sh md5move: # md5move: # md5move: # - Cameron Simpson 20aug2003 md5move: # Compare two md5 indices and, for matching files, emit the matches from md5move: # one directory and the other. md5move: #!/bin/sh md5new: # md5new: # md5new: # - Cameron Simpson 21jun2000 md5new: # Emit filenames not known in the indices. md5new: # Read filenames from stdin and match against md5indices on the command line. md5new: #!/bin/sh md5old: # md5old: # md5old: # - Cameron Simpson 21jun2000 md5old: # size:md5\tfilename\tmd5index\tindex-filename md5old: # Emit filenames known in the indices as: md5old: # Read filenames from stdin and match against md5indices on the command line. md5old: # as for md5match. md5old: #!/bin/sh md5path: # md5path: # md5path: # xx/xxxx..... md5path: # - Cameron Simpson 18may2005 md5path: # Return a subpath based of a file's MD5 checksum of the form: md5path: # Used to construct content-based cache directories. md5path: #!/bin/sh -u md: #!/bin/sh mdvd: #!/bin/sh menubg: # menubg: # menubg: # - Cameron Simpson 18oct2002 menubg: # Change the image menu backdrop image for the running FVWM. menubg: #!/bin/sh -u merge-apache-logs: # merge-apache-logs: # merge-apache-logs: # - Cameron Simpson 30aug2007 merge-apache-logs: # Merge Apache access logs named on the command line. merge-apache-logs: #!/usr/bin/python -tt mergesshkeys: # mergesshkeys: # mergesshkeys: # - Cameron Simpson 25jun2003 mergesshkeys: # Read ssh host keys from stdin and rewrite the named known_host file mergesshkeys: # with the new keys. mergesshkeys: #!/usr/bin/perl -w meta: # meta: #!/usr/bin/perl metasql: # metasql: # metasql: # metasql: # metasql: # - Cameron Simpson 06jul2004 metasql: # CONDITIONS metasql: # ISCURRENT(START_FIELD,END_FIELD,WHEN) metasql: # Translate a lot of shorthand for common idioms. metasql: #!/bin/sed -f metasql: ########################################### mfiles: # mfiles: # mfiles: # - Cameron Simpson 28apr2001 mfiles: # Invoke mutt to send several files. mfiles: #!/bin/sh mh2maildir: # mh2maildir: # mh2maildir: # - Cameron Simpson 07jul2004 mh2maildir: # Convert an MH folder into a Maildir folder. mh2maildir: #!/bin/sh mhdir: # mhdir: # mhdir: # - Cameron Simpson 11oct1999 mhdir: # Make a mailbox folder and .mh_sequences (so mutt recognises it). mhdir: #!/bin/sh mhdrs: # mhdrs: # mhdrs: # mhdrs: # - Cameron Simpson mhdrs: # eval "mhdrs -sh < mailitem | sed 's/^/hdr_/'` mhdrs: # read hdr body mhdrs: # Drops the colon from the header. mhdrs: # Example use: mhdrs: # Suck up mail item, emit header and body on one line for shell use as: mhdrs: # The -sh option emits a bunch of shell variable settings. mhdrs: # gets a bunch of values like $hdr_MESSAGE_ID for "Message-Id", etc. mhdrs: #!/bin/sh mime: # mime: # mime: # - Cameron Simpson 04jun98 mime: # Currently a debugging tool. mime: # Parse MIME messages. mime: #!/usr/bin/perl mimeext: # mimeext: # mimeext: # - Cameron Simpson 10jul2003 mimeext: # Report preferred extension for the supplied MIME type. mimeext: #!/bin/sh mk1x1png: # mk1x1png: # mk1x1png: # - Cameron Simpson 05dec2006 mk1x1png: # Construct a 1x1 PNG file. mk1x1png: #!/usr/bin/python -tt mkaddif: # mkaddif: # mkaddif: # - Cameron Simpson 07dec2005 mkaddif: # Read ifconfig output, generate addif commands to create the logical interfaces. mkaddif: #!/bin/sh -u mkbf: # mkbf: # mkbf: # - Cameron Simpson 23jul2000 mkbf: # /usr/src/linux/Documentation/ramdisk.txt mkbf: # I wanted to be able to make a ramdisk without having an installed mkbf: # Make a ramdisk image after the fashion of mkinitrd. mkbf: # about what you want. Based heavily on mkinitrd and the mkbf: # file. mkbf: # kernel, and possibly with other stuff on it. Mkinitrd seems too opinionated mkbf: #!/bin/sh mkcf: # mkcf: # mkcf: # Usage: mkcf dirs... mkcf: #!/bin/sh mkcgi: # mkcgi: # mkcgi: # - Cameron Simpson 09jul2003 mkcgi: # Create a CGI and the wrapper. mkcgi: #!/bin/sh mkcvsignore: # mkcvsignore: # mkcvsignore: # - Cameron Simpson 28dec2001 mkcvsignore: # Construct a .cvsignore file and commit it. mkcvsignore: # Should only be run when there is nothing more to add to CVS maintenance. mkcvsignore: #!/bin/sh mkdatedfile: # mkdatedfile: # mkdatedfile: # - Cameron Simpson 31jul2000 mkdatedfile: # Given a prefix, create a file with a -date or -date-time suffix. mkdatedfile: #!/bin/sh mkdatedsubdir: # mkdatedsubdir: # mkdatedsubdir: # - Cameron Simpson 09jun2005 mkdatedsubdir: # Create a directory named after the date as with histbackup. mkdatedsubdir: #!/bin/sh -u mkdatedtable: # mkdatedtable: # mkdatedtable: # - Cameron Simpson 06may2004 mkdatedtable: # Create a dated table in a database. mkdatedtable: #!/bin/sh mkdirn: # mkdirn: # mkdirn: # mkdirn: # - Cameron Simpson 28jun2000 mkdirn: # Dash suffix if numeric prefix. - cameron 03sep2000 mkdirn: # Limit on number of directory tries. - cameron 05sep2000 mkdirn: # Make the next directory in a sequence. mkdirn: # Move to python. - cameron, 25jul2005 mkdirn: #!/usr/bin/env python2.5 mkdltbarcodes: # mkdltbarcodes: # mkdltbarcodes: # - Cameron Simpson 03sep2004 mkdltbarcodes: # Read barcode values from stdin, write DLT labels to stdout in PostScript. mkdltbarcodes: #!/bin/sh mkdvd: # mkdvd: # mkdvd: # - Cameron Simpson 17jun2002 mkdvd: # Run mkcd using cdrecord-prodvd, to burn a DVD. mkdvd: #!/bin/sh mkdvd: #cdrecord='cdrecord=cdrecord-prodvd -dao' mkdvdext2: # mkdvdext2: # mkdvdext2: # - Cameron Simpson 10dec2000 mkdvdext2: # Construct an ext2 fs on the DVD-RAM drive. mkdvdext2: #!/bin/sh mkfaq: # mkfaq: # mkfaq: # - Cameron Simpson 29jun98 mkfaq: # Build an HTML FAQ from pieces. mkfaq: #!/bin/sh mkfuncs: # mkfuncs: # mkfuncs: # - Cameron Simpson mkfuncs: # Believes fairly strongly in my formatting conventions. mkfuncs: # C and C++ prototype generator. mkfuncs: #!/usr/bin/perl mkfwdhtml: # mkfwdhtml: # mkfwdhtml: # - Cameron Simpson 11jan2003 mkfwdhtml: # Make an autoforwarding HTML page from one spot to another. mkfwdhtml: #!/bin/sh mkgrubsplash: # mkgrubsplash: # mkgrubsplash: # mkgrubsplash: # - Cameron Simpson 15jul2002 mkgrubsplash: # http://ruslug.rutgers.edu/~mcgrof/grub-images/ mkgrubsplash: # Make 640x480 14 colour gzipped XPM image from a JPEG for use as grub splash mkgrubsplash: # See also: mkgrubsplash: # backdrop. mkgrubsplash: #!/bin/sh -u mkhtpasswd: # mkhtpasswd: # mkhtpasswd: # - Cameron Simpson 13feb2003 mkhtpasswd: # login:blah mkhtpasswd: # Read mkhtpasswd: # files and emit with password crypts from NIS database. mkhtpasswd: #!/bin/sh mkimlist: # mkimlist: # mkimlist: # - Cameron Simpson 09jan2002 mkimlist: # Generate a list of images with their sizes. mkimlist: #!/bin/sh mklinks: # mklinks: # mklinks: # - Cameron Simpson 21may2006 mklinks: # Recode of mklinks in Python, partly for the exercise and partly to mklinks: # improve the algorithm. mklinks: #!/usr/bin/env python2.5 mklog: # mklog: # mklog: # - Cameron Simpson mklog: # Make a new log file. mklog: #!/bin/sh mkmailrcdb: # mkmailrcdb: # mkmailrcdb: # - Cameron Simpson 30jul99 mkmailrcdb: # Read rawdb from stdin, write useful db to stdout. mkmailrcdb: #!/opt/bin/perl mkmairixrc: # mkmairixrc: # mkmairixrc: # - Cameron Simpson 02aug2006 mkmairixrc: # Contruct a mairixrc(5) file. mkmairixrc: #!/bin/sh -u mkmontage: # mkmontage: # mkmontage: # - Cameron Simpson 25feb2005 mkmontage: # Wrapper for "gm montage" to try to size things easily. mkmontage: #!/bin/sh -u mkmydb: # mkmydb: # mkmydb: # - Cameron Simpson 03jul99 mkmydb: # Make a virgin mysql data dir. mkmydb: #!/bin/sh mknetid: # mknetid: # mknetid: # - Cameron Simpson 18dec2001 mknetid: # Replacement for Sun's mknetid because our group table has blown its mind. mknetid: #!/usr/bin/perl mknfsstuff: # mknfsstuff: # mknfsstuff: # - Cameron Simpson 14oct2000 mknfsstuff: # Emit fstab lines. mknfsstuff: # Make sure symlinks exist for us. mknfsstuff: # Make sure the mountpoints exist for the hosts not us. mknfsstuff: # Read a list of hosts and exported filesystems. mknfsstuff: #!/bin/sh mknphsshkey: # mknphsshkey: # mknphsshkey: # - Cameron Simpson 03feb2002 mknphsshkey: # Construct a passphraseless well commented and named ssh keypair. mknphsshkey: #!/bin/sh mkotpad: # mkotpad: # mkotpad: # - Cameron Simpson mkotpad: # http://www.eleves.ens.fr:8080/home/madore/misc/freespeech.html mkotpad: # A damn fine idea. mkotpad: # Coded on the basis of David Madore's paper: mkotpad: # Generate a pad of random bytes and save under its MD5 hash. mkotpad: #!/bin/sh mkpatch: # mkpatch: # mkpatch: # Usage: mkpatch [-v] [-c commentry] [--] olddir newdir mkpatch: #!/bin/sh mkpodindex: # mkpodindex: # mkpodindex: # - Cameron Simpson 01jul2003 mkpodindex: # Create a simple index of every HTML file that should be made from the PODs mkpodindex: # in the current directory. mkpodindex: #!/bin/sh mkprintcap: # mkprintcap: # mkprintcap: # - Cameron Simpson 12oct2000 mkprintcap: # Emit an LPRng printcap for our printers. mkprintcap: #!/bin/sh mkpw: # mkpw: # mkpw: # - Cameron Simpson 28feb2002 mkpw: # Make a random password string. mkpw: #!/bin/sh mkrc: # mkrc: # mkrc: # - Cameron Simpson 23aug98 mkrc: # Regenerate an rc file. mkrc: #!/bin/sh mkrd: # mkrd: # mkrd: # - Cameron Simpson 23jul2000 mkrd: # /usr/src/linux/Documentation/ramdisk.txt mkrd: # I wanted to be able to make a ramdisk without having an installed mkrd: # Make a ramdisk image after the fashion of mkinitrd. mkrd: # about what you want. Based heavily on mkinitrd and the mkrd: # file. mkrd: # kernel, and possibly with other stuff on it. Mkinitrd seems too opinionated mkrd: #!/bin/sh mkrhupdset: # mkrhupdset: # mkrhupdset: # or the -c option to make copies instead of links. mkrhupdset: # The -s option exists to make soft links if preferred, mkrhupdset: # constructed directory can be used as an NFS export. mkrhupdset: # - Cameron Simpson 16jun2003 mkrhupdset: # Make a set of symlinks in the current directory mkrhupdset: # Note: by default this makes hard links so that the mkrhupdset: # pointing at update RPMs from an updates mirror mkrhupdset: # preferring i686 over i586, i586 over i386 etc. mkrhupdset: #!/bin/sh mksquidpeers: # mksquidpeers: # mksquidpeers: # - Cameron Simpson 26dec2004 mksquidpeers: # Emit cache_peer and never_direct directives for insertion into a squid.conf. mksquidpeers: #!/bin/sh -ue mksshauthkeys: # mksshauthkeys: # mksshauthkeys: # - Cameron Simpson 14jul2001 mksshauthkeys: # Collect together the appropriate public keys for this site. mksshauthkeys: #!/bin/sh mksshhostkey: # mksshhostkey: # mksshhostkey: # - Cameron Simpson 12jul2000 mksshhostkey: # The magic incantation to make an ssh host key file. mksshhostkey: #!/bin/sh mksshkeys: # mksshkeys: # mksshkeys: # - Cameron Simpson 31aug2003 mksshkeys: # Generate a set of ssh keys. mksshkeys: # Private keys go in ~/.ssh and public keys go in ~/rc/ssh/pubkeys/host@site. mksshkeys: #!/bin/sh mktags: # mktags: # mktags: # - Cameron Simpson mktags: # Usage: mktags [-v] files... | sort -u > vi-tags mktags: #!/usr/bin/perl mkthumb: # mkthumb: # mkthumb: # - Cameron Simpson 12sep2003 mkthumb: # Produce thumbnails for the named image files. mkthumb: #!/bin/sh mkthumbnail: # mkthumbnail: # mkthumbnail: # mkthumbnail: # - Cameron Simpson 19feb1995 mkthumbnail: # Make thumbnail of image, report pagename. mkthumbnail: # Prefer JPG to PNG, handle other input types. - cameron, 26nov2005 mkthumbnail: # Prefer PNG to GIF, handle other input types. - cameron, 26may1999 mkthumbnail: #!/bin/sh -u mkvpnsshkey: # mkvpnsshkey: # mkvpnsshkey: # - Cameron Simpson 03feb2002 mkvpnsshkey: # Construct an ssh keypair for a VPN. mkvpnsshkey: #!/bin/sh mkvsftpd.conf: # mkvsftpd.conf: # mkvsftpd.conf: # - Cameron Simpson 23apr2005 mkvsftpd.conf: # Parse vhost configs and emit vsftpd.conf content for vsftp-server. mkvsftpd.conf: # detab mkvsftpd.conf: #!/bin/sed -nf mkwall: # mkwall: # mkwall: # - Cameron Simpson 11sep2003 mkwall: # Construct a wallpaper image by resizing a source image and padding. mkwall: # Pulled from rootbg and updated to use GraphicsMagick. mkwall: # Writes new image to a persistent cache in PNG format and prints the pathname. mkwall: #!/bin/sh -u ml: #!/usr/bin/perl mlist: # mlist: # mlist: # - Cameron Simpson 07sep95 mlist: # Maintain mailing-list subscriptions. mlist: #!/bin/sh mlp: #!/bin/sh mlru2html: # mlru2html: #!/usr/bin/perl mlru2pl: # mlru2pl: # mlru2pl: # - Cameron Simpson 21jul95 mlru2pl: # Parse Carl Paukstis's mailing list roundup and emit a Perl Hier file. mlru2pl: #!/usr/bin/perl mlrupd: # mlrupd: # mlrupd: # - Cameron Simpson 21jul95 mlrupd: # Update the mailist list DB from an Hier made from Carl's list. mlrupd: #!/usr/bin/perl modules: #!/bin/sh monday: # monday: # monday: # - Cameron Simpson 22dec2005 monday: # Code reefed from ts. monday: # Given a date, report the latest Monday not preceeding it. monday: #!/bin/sh -u monfile: # monfile: # monfile: # - Cameron Simpson 04nov98 monfile: # Output differences. monfile: # Replace a file with stdin. monfile: #!/bin/sh monitor: # monitor: # monitor: # - Cameron Simpson 12aug96 monitor: # Do a tail-f watching for a pattern. monitor: # Report that line and the surrounding ones. monitor: #!/usr/bin/perl monweblog: #!/usr/bin/perl mp: #!/bin/sh mrd: # mrd: # mrd: # - Cameron Simpson mrd: # Mail reader. mrd: #!/usr/bin/perl mrg: #!/usr/bin/perl mrgdirs: # mrgdirs: # mrgdirs: # - Cameron Simpson 31jan2001 mrgdirs: # Merge directories created with mkdirn into another directory mrgdirs: # of such subdirs. mrgdirs: #!/bin/sh mrggrps: # mrggrps: # mrggrps: # - Cameron Simpson 27sep2002 mrggrps: # Supercede one PROJ_ID with another. mrggrps: #!/bin/sh mrgmhdirs: # mrgmhdirs: # - Cameron Simpson 25may2002 mrgmhdirs: # mrgmhdirs: # Assumes they match. mrgmhdirs: # Merge the contents of one MH folder into another, mrgmhdirs: # Note: uses $MAILDIR instead of ~/.mh_profile. mrgmhdirs: # and link the second back to the first as synonyms. mrgmhdirs: #!/bin/sh mrgtags: # mrgtags: # mrgtags: # mrgtags: # Merges the tags provided, giving precedence to earlier tags. mrgtags: # Usage: mrgtags [-d supposed-pwd] [tagfiles] mrgtags: #!/usr/bin/perl mring: # mring: # mring: # - Cameron Simpson 21may98 mring: # Ring my mail data. mring: #!/bin/sh mrx-mkrc: # mrx-mkrc: # mrx-mkrc: # - Cameron Simpson 17mar2004 mrx-mkrc: # Create a mairix rc file for just the specified MH or Maildir folder directory. mrx-mkrc: #!/bin/sh mrx-query: # mrx-query: # mrx-query: # - Cameron Simpson 17mar2004 mrx-query: # Look up the mairix indices of the specified folders, mrx-query: # catch accidental stdout mrx-query: # report mairix-result folder path. mrx-query: #!/bin/sh mrx-update: # mrx-update: # mrx-update: # - Cameron Simpson 17mar2004 mrx-update: # Update the mairix index for particular MH folders. mrx-update: #!/bin/sh mrx2hmtl: # mrx2hmtl: # mrx2hmtl: # - Cameron Simpson 03feb2006 mrx2hmtl: # Run a mairix query, generate MHonArc index. mrx2hmtl: #!/bin/sh -u msgid2dj: # msgid2dj: # msgid2dj: # http://www.robotwisdom.com/ msgid2dj: # - Cameron Simpson 02aug99 msgid2dj: # Convert msgids into DejaNews thread references. msgid2dj: # Thanks to the Robot Wisdom Weblog msgid2dj: #!/bin/sh mtail: # mtail: # mtail: # - Cameron Simpson 21feb2005 mtail: # Simple minded tail multiple files at once, with hook to add more files. mtail: #!/bin/sh mugshot: # mugshot: #!/bin/sh multips: # multips: # multips: # multips: # multips: # multips: # multips: # +61 2 9351 5001 Fax multips: # +61 2 9351 5506 Phone multips: # - Cameron Simpson, January 1992 multips: # Building H08, Sydney University multips: # Information Technology Services multips: # NSW, 2006, Australia multips: # R.Cartlidge@isu.usyd.edu.au Email multips: # Ross Cartlidge multips: # Added -fg and -bg for colour control. - Cameron, 11may93 multips: # Added papertray selection. - Cameron, 15mar94 multips: # Also adds duplexmode and tumble to control doublesiding of paper. multips: # Made operator replacement conditional upon operator existence. multips: # Multi.ps is a groovy piece of PostScript written by: multips: # Wrapper for multi.ps. multips: #!/bin/sh multissh: # multissh: # multissh: # - Cameron Simpson 21feb2003 multissh: # Ssh to all systems at once and do something. multissh: #!/bin/sh -u music: # music: # music: # - Cameron Simpson 21nov2005 music: # Look for music. in several search engines. music: #!/bin/sh -u mutt-aliases-cataddrs: # mutt-aliases-cataddrs: # mutt-aliases-cataddrs: # - Cameron Simpson 18mar2007 mutt-aliases-cataddrs: # Emit all the addresses for a particular category. mutt-aliases-cataddrs: #!/bin/sh -u mutt-aliases: # mutt-aliases: # mutt-aliases: # - Cameron Simpson 30oct2005 mutt-aliases: # Edit my aliases file, then rebuilt procmailrcs etc. mutt-aliases: #!/bin/sh -u mutt-picasa: # mutt-picasa: # mutt-picasa: # ln -s /opt/css/bin/mutt-picasa /opt/picasa/bin/picasa-hook-email.sh mutt-picasa: # - Cameron Simpson 28may2006 mutt-picasa: # Install: mutt-picasa: # Take the almost-URL handed out by Picasa and hand to mutt. mutt-picasa: #!/bin/sh -u mutt-refile: # mutt-refile: # mutt-refile: # - Cameron Simpson mutt-refile: # Make procmailrcs up to date, make mail filing folders, queue pending mutt-refile: # mail for refiling. mutt-refile: #!/bin/sh -u muttedit: # muttedit: # - Cameron Simpson 31mar2006 muttedit: # muttedit: # Spawn a mutt to edit a message and dispatch a reply in screen. muttedit: # Then just put "set editor=muttedit". Have to unset it for edit-message. muttedit: # This lets you detach from an unfinished reply and finish it later. muttedit: #!/bin/sh -u mvdir: #!/bin/sh mvgroup: # mvgroup: # mvgroup: # - Cameron Simpson 09mar99 mvgroup: # Bulk edit the group file to rename a group. mvgroup: #!/bin/sh mx: #!/bin/sh mx: ## exec nslookup -query=mx ${1+"$@"} mycvs: # mycvs: # mycvs: # - Cameron Simpson 08apr97 mycvs: # Also does some extra things (ls, check, ...). mycvs: # CVS mucks file permissions about. Links, too. mycvs: # This stub preserves file permissions. mycvs: #!/usr/bin/perl -w mydb: # mydb: # mydb: # - Cameron Simpson 02jul99 mydb: # Fire up a mysqld for a particular dataset. mydb: #!/bin/sh mygcc: # mygcc: #!/bin/sh mykebuild: # mykebuild: # mykebuild: # mykebuild: # - Cameron Simpson, 19jul92 mykebuild: # Translated from SysV shell to Perl. - cameron, 05may93 mykebuild: # Wrapper for myke to build most binaries or libraries. mykebuild: #!/usr/bin/perl mykeshell: # mykeshell: # mykeshell: # - Cameron Simpson mykeshell: # Colourises the output. mykeshell: # Shell to run a command from a mykefile. mykeshell: #!/bin/sh mys: # mys: # mys: # - Cameron Simpson mys: # Connect to default MySQL database. mys: #!/bin/sh -ue myspasswd: # myspasswd: # myspasswd: # - Cameron Simpson 11nov2002 myspasswd: # Se