# 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 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-console-shell: # cs-fvwm-console-shell: # cs-fvwm-console-shell: # - Cameron Simpson 18oct2008 cs-fvwm-console-shell: # Run a shell and tell FVWM that it is the "console" shell. cs-fvwm-console-shell: #!/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-mktimesheet: # cs-mktimesheet: # cs-mktimesheet: # - Cameron Simpson 14mar2008 cs-mktimesheet: # Emit a timesheet based on my daily logs. cs-mktimesheet: #!/bin/sh -ue cs-mutt-query: #!/bin/sh cs-needtimesheet: # cs-needtimesheet: # cs-needtimesheet: # - Cameron Simpson cs-needtimesheet: # Require timesheet to exit. Email if we create it. cs-needtimesheet: #!/bin/sh -ue cs-rigxmodmap: # cs-rigxmodmap: # cs-rigxmodmap: # - Cameron Simpson 14apr2000 cs-rigxmodmap: # Make the keyboard more sane. cs-rigxmodmap: # Shuffle the keyboard a bit. cs-rigxmodmap: #!/bin/sh cs-which: # cs-which: # cs-which: # Locate a command. - Cameron Simpson cs-which: #!/usr/bin/perl 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 decco-edit: # decco-edit: # decco-edit: # - Cameron Simpson 05nov2008 decco-edit: # "decco": inverse of "codec". decco-edit: # Decode/edit/recode/rewriteif chain to edit things like gzipped files. decco-edit: # This is slower and uses more disc space (twice the decoded file size) decco-edit: # than decco-filter, but more flexible. decco-edit: #!/bin/sh -ue decco-filter: # decco-filter: # decco-filter: # - Cameron Simpson 05nov2008 decco-filter: # "decco": inverse of "codec". decco-filter: # Decode/edit/recode/rewriteif chain to filter things like gzipped files. decco-filter: # This is faster and uses less disc space than decco-edit, but less flexible. decco-filter: #!/bin/sh -ue 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 ejecttape: # ejecttape: # ejecttape: # - Cameron Simpson ejecttape: # Eject a tape and move its index into the EXPORTED subdirectory. ejecttape: #!/bin/sh -ue 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-command-buttons: # fvwm-command-buttons: # fvwm-command-buttons: # - Cameron Simpson 07oct2008 fvwm-command-buttons: # Generate FVWM input to run up an FVWMButtons module with the fvwm-command-buttons: # commands read from stdin. fvwm-command-buttons: #!/bin/sh -ue 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 hg-rss: # hg-rss: # hg-rss: # hg-rss: # - Cameron Simpson 07oct2008 hg-rss: # Surely there is a non-socket mode for this? hg-rss: # Dump an RSS feed for a Mercurial repository. hg-rss: # TODO: Control port number. hg-rss: #!/bin/sh -ue 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 hostlist: # hostlist: # hostlist: # hostlist: # On some shells the { will need escaping by the caller. hostlist: # Optional tags which are preserved. hostlist: # host A hostname. hostlist: # host/tag or host/{tag,...} hostlist: # hostN,M,... A series of hostnames with numeric suffices numbered N, M, etc. hostlist: # - Cameron Simpson 02nov2008 hostlist: # Convert a list of hosts with sequential shorthand into long list. hostlist: # Supports the following syntax: hostlist: # This syntax is lifted from the "@" command, and supports a /tag hostlist: # suffix to indicate connection to a remote screen session. hostlist: #!/bin/sh -ue 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 html2822: # html2822: # html2822: # - Cameron Simpson 26sep2008 html2822: # Like htsave, but prepare plain HTML as RFC2822. html2822: #!/bin/sh -ue 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 -ue 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: # keys: # keys: # - Cameron Simpson keys: # Open the specified GPG file for editing. keys: #!/bin/sh -ue 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-grabber: # log-grabber: # log-grabber: # log-grabber: # log-grabber: # log-grabber -i 60 foo.log sh -c 'sed 100q | mail -s 100-lines them' log-grabber: # copying the important lines to "foo.log". log-grabber: # email the first 100 lines to "them". log-grabber: # Monitor a busy log for important stuff with log-monitor, log-grabber: # Poll foo.log every 60 seconds. If anything is found, log-grabber: # - Cameron Simpson 22aug2008 log-grabber: # Example: log-grabber: # If not empty, rotate it and summarise to external command. log-grabber: # Poll a log file regularly. log-grabber: # This implies that whatever writes to the log will make a new file log-grabber: # if the existing log moves sideways, as log-monitor does. log-grabber: #!/bin/sh -ue 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: # Set user password in MySQL database. myspasswd: #!/bin/sh mysql-clustify: # mysql-clustify: # mysql-clustify: # - Cameron Simpson 25jun2006 mysql-clustify: # Emit commes to update the tables in a database for cluster use by mysql-clustify: # altering the engine. Should be run in the mysql basedir. mysql-clustify: #!/bin/sh -u mysql-pull-dbs: # mysql-pull-dbs: # mysql-pull-dbs: # - Cameron Simpson 29dec2005 mysql-pull-dbs: # Pull complete databases from one mysql server to another. mysql-pull-dbs: #!/bin/sh -u myzipfat: # myzipfat: # myzipfat: # - Cameron Simpson 22nov96 myzipfat: # Format, mformat, chown etc to make up a FAT filesystem on a Zip disc. myzipfat: # Uses the mtools. myzipfat: #!/bin/sh myzipfs: # myzipfs: # myzipfs: # - Cameron Simpson 22nov96 myzipfs: # Format, newfs, chown etc to make up a filesystem on a Zip disc. myzipfs: #!/bin/sh nan-count: # nan-count: # nan-count: # - Cameron Simpson 07oct2005 nan-count: # Count the TCP states in "netstat -an" output. nan-count: #!/bin/sh nan: #!/bin/sh nbg: # nbg: # nbg: # - Cameron Simpson 20nov2000 nbg: # Add a file to the not-a-background reject list. nbg: #!/bin/sh nd: # nd: # nd: # - Cameron Simpson 18jul2002 nd: # Manipulate FVWM named desktops from command line. nd: #!/bin/sh ndx822: # ndx822: # ndx822: # ndx822: # - Cameron Simpson, cs@zip.com.au, 23jun94 ndx822: # absent Msgids _not_ present in the archive. ndx822: # msgids Msgids present in the archive, forward and backward refs. ndx822: # ptx' Permuted index. ndx822: # Adjust the indices associated with archived news/mail items. ndx822: # Indices: ndx822: #!/usr/bin/perl ndxcpio: # ndxcpio: # ndxcpio: # - Cameron Simpson, 31dec93 ndxcpio: # Read cpio -c from stdin, emit index on stdout. ndxcpio: #!/usr/bin/perl necho: # necho: # necho: # - Cameron Simpson necho: # Portable echo without trailing newline. necho: #!/bin/sh need-ssh-agent: # need-ssh-agent: # need-ssh-agent: # need-ssh-agent: # - Cameron Simpson need-ssh-agent: # - Cameron Simpson 22aug2000 need-ssh-agent: # Attempt to latch onto existing agent from other session. need-ssh-agent: # Set up ssh authentication. need-ssh-agent: #!/bin/sh needbugline: # needbugline: # needbugline: # - Cameron Simpson 04may2005 needbugline: # Read a bug line from stdin and subject it to sanity tests. needbugline: #!/bin/sh -u needdir: # needdir: # needdir: # - Cameron Simpson 04may2002 needdir: # Require existence of directory, creating it if needed. needdir: #!/bin/sh needhost: # needhost: # needhost: # - Cameron Simpson 02dec2002 needhost: # Check we're on the specified host. needhost: #!/bin/sh netfind: #!/bin/sh netgroup: # netgroup: # netgroup: # - cameron 03jun1996 netgroup: # Added -r & -R flags. netgroup: # Hmm, added usage! netgroup: # Sent usage to stderr. netgroup: #!/bin/sh -u netscan: # netscan: # netscan: # netscan: # 20 Mar 1995: v1.0 written by Peter Couvares netscan: # 31 May 1995: v1.1 major fixes/improvements netscan: # netscan v1.1 - scan a network to identify its active nodes netscan: # usage: netscan -n network_addr [-s subnet_mask] [-v] netscan: #!/usr/bin/perl newjob: # newjob: # newjob: # - Cameron Simpson 30jun2003 newjob: # Instantiate a new job. newjob: #!/bin/sh newsfilt: # newsfilt: # newsfilt: # Autofile my news. - Cameron Simpson newsfilt: #!/usr/bin/perl newurls: #!/bin/sh newuser: # newuser: # newuser: # - Cameron Simpson 29oct2006 newuser: # Linuxish create a new user and group with specified id. newuser: #!/bin/sh -u ng2to: # ng2to: # ng2to: # - Cameron Simpson 09jun2002 ng2to: # Create a To: line with ng@usenet for use in mutt. ng2to: #!/bin/sed -nf ngexpand: # ngexpand: # ngexpand: # - Cameron Simpson 12jul2004 ngexpand: # Expand a host list that may contain @ng and !host and !@ng. ngexpand: # Output is sorted and unique. ngexpand: #!/bin/sh ngr: # ngr: # ngr: # - Cameron Simpson ngr: # Sorted tidy recursive netgroup listing. ngr: #!/bin/sh -u ngssh: # ngssh: # ngssh: # - Cameron Simpson 08feb2001 ngssh: # Bgssh to a netgroup. ngssh: #!/bin/sh nicknames: #!/bin/sh nid: #!/bin/sh nisauth: # nisauth: # nisauth: # nisauth: # - Cameron Simpson 15feb2001 nisauth: # 0 Login and password match. nisauth: # 1 Mismatch or lookup failure. nisauth: # 2 Usage (invocation error). nisauth: # Exit status: nisauth: # Verify authentication using UNIX NIS crypt password. nisauth: #!/bin/sh nl2indent: # nl2indent: # nl2indent: # - Cameron Simpson 29jul96 nl2indent: # Convert a blank-line separated list of records to a ring-style nl2indent: # leading-non-white delimited list. nl2indent: #!/usr/bin/perl nlines: # nlines: # nlines: # - Cameron Simpson 31may2004 nlines: # Find each line containing a regexp and print it and the following few lines. nlines: #!/bin/sh nntp: #!/bin/sh no-gpg-agent: #!/bin/sh no-ssh-agent: # no-ssh-agent: # no-ssh-agent: # - Cameron Simpson 17mar99 no-ssh-agent: # Ssh lacks a methods to restrict what authentication mechanisms no-ssh-agent: # from the environment. no-ssh-agent: # it uses. Hence this hack to at least remove the ssh-agent knowledge no-ssh-agent: #!/bin/sh noads: # noads: # noads: # - Cameron Simpson 28feb2003 noads: # Insert a new pattern in the adzapper config file. noads: #!/bin/sh noesc: # noesc: # noesc: # - Cameron Simpson 02feb2004 noesc: # Strip control characters from input for presentation on screen noesc: # as harmless text. noesc: #!/usr/bin/perl -p noldpath: # noldpath: # noldpath: # - Cameron Simpson 20nov99 noldpath: # Strip my LD_LIBRARY_PATH, rely on the system one. noldpath: #!/bin/sh nospam: # nospam: # nospam: # - Cameron Simpson 25jul97 nospam: # Filter spam from a mail feed. nospam: #!/usr/bin/perl not: #!/bin/sh note: # note: # note: # note: # - Cameron Simpson 15nov1996 note: # Adapted from noteurl. note: # Fix race condition on tag existence. - cameron, 14sep1998 note: # Stash strings for later. note: # Streamlined the logic. - cameron, 16feb1998 note: #!/bin/sh -u noteaddrs: # noteaddrs: # noteaddrs: # - Cameron Simpson 15jun98 noteaddrs: # Read mail addresses, one per line, and record in raw mailrc db. noteaddrs: #!/bin/sh noteurl: # noteurl: # noteurl: # - Cameron Simpson 15nov96 noteurl: # Stash a URL for later browsing. noteurl: #!/bin/sh now: # now: # now: # - Cameron Simpson now: # Print current time in UNIX seconds. now: #!/usr/bin/perl nox: #!/bin/sh nphssh: # nphssh: # nphssh: # - Cameron Simpson 14jul2001 nphssh: # Naturally we supply no command as that should be hardwired nphssh: # Run an ssh with a no-pass-phrase key file. nphssh: # at the far end. nphssh: #!/bin/sh nread: # nread: # nread: # passphrase=`nread prompttstring` nread: # nread: # - Cameron Simpson 22oct96 nread: # Echo the string to stdout. nread: # Read a string with echo turned off. nread: # We expect to be called as: nread: # set -vx nread: #!/bin/sh nsbm2dir: #!/bin/sh nsbmclean: # nsbmclean: # nsbmclean: # - Cameron Simpson 11mar98 nsbmclean: # Demoronize the netscape bookmarks file. nsbmclean: #!/usr/bin/perl nsbmparse: # nsbmparse: # nsbmparse: # - Cameron Simpson 13mar1998 nsbmparse: # Parse the Netscape bookmark file (post clean by nsbmclean) nsbmparse: # and do things with the structure. nsbmparse: #!/usr/bin/perl nsdlfix: # nsdlfix: # nsdlfix: # - Cameron Simpson 04dec98 nsdlfix: # Netscape has an unfortunate tendency to uncompress downloaded nsdlfix: # Thus this hack to clean up. nsdlfix: # files and, better still, doesn't strip off the .Z or .gz extension. nsdlfix: #!/bin/sh nshistparse: # nshistparse: # nshistparse: # - Cameron Simpson 13mar98 nshistparse: # Parse the anchors in the cleaned netscape history dump nshistparse: # and write plain HTML. nshistparse: #!/usr/bin/perl nsr-update-save-set: # nsr-update-save-set: # nsr-update-save-set: # - Cameron Simpson 10aug2007 nsr-update-save-set: # Overwrite the save set for a client. nsr-update-save-set: #!/bin/sh -ue nsr3p: # nsr3p: # nsr3p: # nsr3p: # - Cameron Simpson nsr3p: # Specificly, we want to make use of a tape which isn't part of Legato's nsr3p: # This is based on suggestions made by Janelle Filkin . nsr3p: # Use a 3rd party tape with Legato Networker. nsr3p: # indices using a Legato controlled jukebox. nsr3p: #!/bin/sh -u nsswitch: # nsswitch: # nsswitch: # - Cameron Simpson 25dec2005 nsswitch: # Hack the /etc/nsswitch.conf file. nsswitch: #!/bin/sh -u nstest: #!/bin/sh ntpservers: # ntpservers: # ntpservers: # - Cameron Simpson ntpservers: # Read ntp.conf, recite IP addresses of servers. ntpservers: #!/bin/sh nw@: # nw@: # nw@: # - Cameron Simpson 23dec2004 nw@: # Reconfigure for a new network location. nw@: #!/bin/sh -u nway: # nway: # nway: # nway: # - Cameron Simpson 20oct2000 nway: # A sort of inverse of the foreach script. nway: # Foreach takes lines from its input and run a command for each nway: # INCOMPLETE nway: # NOTE: this uses lock(1) for the pipe read locking, which is pretty nway: # This script makes an arbitrary number of instances of a command nway: # and parcels its input out to them a line at a time. nway: # even as you might hope. But the "let the others flow" half should work fine. nway: # expensive, so this script is only a win when the work per line of input nway: # is potentially large. Also, because of the pipe between the reader and nway: # so the "block the expensive branch and let the others flow" isn't as nway: # the subcommand you need a fair amount of input before things block, nway: # with an arbitrary degree of parallelism. nway: #!/bin/sh odiff: # odiff: # odiff: # - Cameron Simpson 01mar95 odiff: # Octal diff for binary files with fixed length records. odiff: #!/bin/sh onepid: # onepid: # onepid: # - Cameron Simpson 26oct2002 onepid: # Fire up just one instance of a program. onepid: #!/bin/sh oo: # oo: # oo: # - Cameron Simpson 08oct2003 oo: # Wrapper for OpenOffice to do the "workstation" install at need. oo: #!/bin/sh opieauth: #!/bin/sh optusbill: # optusbill: #!/usr/bin/perl other: #!/bin/sh otp: # otp: # otp: # otp: # otp: # - Cameron Simpson 05dec96 otp: # otp user Print challenge on stdout. otp: # otp user response Try response, set exit value to success/fail. otp: # Connect to the opieauth service and validate things. otp: # Usage: otp: #!/usr/bin/perl otpadlist: # otpadlist: # otpadlist: # - Cameron Simpson 24jul2000 otpadlist: # List the known one time pad URLs. otpadlist: #!/bin/sh otpadsets: # otpadsets: # otpadsets: # - Cameron Simpson 04aug2000 otpadsets: # List the otpad sets I know about. otpadsets: #!/bin/sh outline: # outline: # outline: # - Cameron Simpson 14jul2004 outline: # Wrapper for potrace. outline: #!/bin/sh outmail: #!/bin/sh ov: # ov: # ov: # - Cameron Simpson 22jul2004 ov: # Overlay one dir on another, prune first one. ov: #!/bin/sh -u overlay: # overlay: # overlay: # - Cameron Simpson 07feb2003 overlay: # Overlay the contents of one directory on another. overlay: #!/bin/sh -u ovglobdirs: # ovglobdirs: # ovglobdirs: # - Cameron Simpson 04may2005 ovglobdirs: # Overlay specific subtrees of a directory tree onto another. ovglobdirs: # Useful for exporting particular subtrees to another area. ovglobdirs: #!/bin/sh -u pageforms: # pageforms: # pageforms: # - Cameron Simpson 03mar99 pageforms: # Return the FORMs in a web page. pageforms: #!/bin/sh pageif: # pageif: # pageif: # - Cameron Simpson 27feb2000 pageif: # Run a command, piping into a pager if stdout is a tty. pageif: #!/bin/sh pagetitle: #!/bin/sh pageurls: # pageurls: # pageurls: # - Cameron Simpson 25aug2000 pageurls: # Extract URLs from web pages. Recode after "urls" recode :-( pageurls: #!/bin/sh parsesyslog: # parsesyslog: #!/usr/bin/perl patch-config: # patch-config: # patch-config: # keyword value patch-config: # - Cameron Simpson 18sep2008 patch-config: # Apply a configuration patch to a file, writing the patched config patch-config: # The patch file contains lines of the form: patch-config: # to the standard output. patch-config: #!/usr/bin/python -tt pathancestors: # pathancestors: # pathancestors: # - Cameron Simpson 02jul2004 pathancestors: # Return all ancestors of the pathnnames on stdin. pathancestors: #!/bin/sed -nf pause: #!/usr/bin/python -tt pcol: # pcol: # pcol: # - Cameron Simpson 24aug99 pcol: # Accepts -Fc for field separator. pcol: # Print selected columns with awk. pcol: #!/bin/sh pdb: # pdb: # pdb: # - Cameron Simpson 22may2000 pdb: # Do things to Palm Pilot PDB files. pdb: #!/usr/bin/perl pdlog: #!/bin/sh periodic-report: # periodic-report: # periodic-report: # - Cameron Simpson 26oct2008 periodic-report: # Read lines from the standard input. On a periodic basis, pipe them to periodic-report: # a subsidiary command. periodic-report: #!/usr/bin/env python2.5 perl_local: # perl_local: # perl_local: # - Cameron Simpson 03jan2003 perl_local: # Figure out where /opt/perl_local/... is. perl_local: #!/bin/sh perldeps: # perldeps: # perldeps: # - Cameron Simpson 05mar1997 perldeps: # Print out the list of files `use'd by a perl program for bundling perldeps: # things up. perldeps: #!/usr/bin/perl perlinst: # perlinst: # perlinst: # - Cameron Simpson 01jun99 perlinst: # Install a perl module. perlinst: #!/bin/sh perlkit: # perlkit: # perlkit: # - Cameron Simpson 02sep98 perlkit: # Emit a tar archive of the named scripts and their dependent cs:: modules. perlkit: #!/bin/sh perlstrs: # perlstrs: # perlstrs: # - Cameron Simpson 25aug97 perlstrs: # blah=`echo "$blah" | sed 's/this/that/g'` perlstrs: # Based on sedstrs, which doesn't do newlines. perlstrs: # Tired of fighting with broken echo commands which interpret -n perlstrs: # or cs@zip.com.au etc, I resort to this cumbersome wrapper for the common perlstrs: # thing. perlstrs: #!/usr/bin/perl perror: #!/bin/sh pfx: # pfx: # pfx: # - Cameron Simpson pfx: # Prefix standard output and standard error. pfx: #!/bin/sh -u pgid: #!/bin/sh -u pgpedit: # pgpedit: # pgpedit: # - Cameron Simpson pgpedit: # Edit a PGP encrypted file. Extracted from "edit". pgpedit: #!/bin/sh pgpem: # pgpem: #!/bin/sh ph: #!/bin/sh phash: # phash: # phash: # - Cameron Simpson 10apr97 phash: # Based on the old user script. phash: # Set or report data from a persistent object. phash: #!/usr/bin/perl -w phdb2txt: # phdb2txt: # phdb2txt: # - Cameron Simpson phdb2txt: # Dump my phone DB into flat text. phdb2txt: #!/usr/bin/perl phone: # phone: # phone: # Complete rewrite by Cameron. phone: # Moved much stuff into user db. - cameron 20nov97 phone: #!/bin/sh phref: # phref: #!/bin/sh pickim: # pickim: # pickim: # - Cameron Simpson pickim: # Do the common image selection bit from rootbg/menubg. pickim: #!/bin/sh pickn: # pickn: # pickn: # pickn: # - Cameron Simpson 19jul2000 pickn: # Pattern match for selection. - cameron 12sep2000 pickn: # Pick some lines at random from the input, by default 1. pickn: # Treat all args as regexps to AND. - cameron, 12nov2001 pickn: #!/bin/sh pickotpads: # pickotpads: # pickotpads: # - Cameron Simpson 24jul2000 pickotpads: # Pick some random pads from those available on the net. pickotpads: #!/bin/sh picksig: # picksig: # picksig: # picksig: # -- [keywords] picksig: # sig, may be multiple lines picksig: # - Cameron Simpson, March 1993 picksig: # Print a random signature. picksig: # The file has the format picksig: #!/usr/bin/perl pilfer: # pilfer: # pilfer: # pilfer: # Make an H1 heading with the title. pilfer: # appended and with the page URLs on stdin; pilfer: # replace URL list with output. pilfer: # ! command Run shell command with the current page URL pilfer: # - Cameron Simpson 19jun99 pilfer: # Hn heading Category heading. pilfer: # LI ptn Rexgexp for URLs, implicitly anchored at ^. pilfer: # TITLE title Output TITLE tag. Should come early. pilfer: # URL [-i] title Page to pilfer. -i gets inline refs. pilfer: # Input format: pilfer: # Rummage through a web page pulling out the items of interest. pilfer: #!/bin/sh pipeto: # pipeto: # pipeto: # - Cameron Simpson 09nov2002 pipeto: # Attach a command to a named pipe so that other things can pipe info pipeto: # to it with abandon. pipeto: #!/bin/sh -u pline: #!/bin/sh pman: #!/bin/sh pmoz: #!/bin/sh pndx2html: # pndx2html: # pndx2html: # - Cameron Simpson 06may97 pndx2html: # Convert pndx output to HTML. pndx2html: #!/usr/bin/perl pndx: # pndx: # pndx: # pndx: # - Cameron Simpson 05may97 pndx: # ref line of text pndx: # ref TAB left-words TAB keyword TAB right-words pndx: # Input: pndx: # Output: pndx: # Permuted index, after ptx. pndx: #!/usr/bin/perl pngof: # pngof: # pngof: # - Cameron Simpson 19may2005 pngof: # Create a full colour PNG of the specified image file. pngof: #!/bin/sh -u pod-numlists: # pod-numlists: # pod-numlists: # - Cameron Simpson 24aug2004 pod-numlists: # Read POD from stdin, recognise numbered lists by first =item, pod-numlists: # enforce numbering. pod-numlists: #!/usr/bin/perl -p pod2wiki: # pod2wiki: # pod2wiki: # - Cameron Simpson 01nov2006 pod2wiki: # Translate Perl POD format into Wiki format (specificly that of MediaWiki). pod2wiki: #!/usr/bin/perl podkeywords: # podkeywords: # podkeywords: # - Cameron Simpson 02apr2004 podkeywords: # Extract all the keywords names by an =keywords POD line. podkeywords: #!/bin/sh podsbykey: # podsbykey: # podsbykey: # - Cameron Simpson 02apr2004 podsbykey: # Report POD files with the specified keyword. podsbykey: #!/bin/sh popSHELL: # popSHELL: # popSHELL: # - Cameron Simpson 18may2002 popSHELL: # Restore $SHELL from saved setting then run $popSHELLcmd. popSHELL: # Sad but true. Hence this script. popSHELL: # This is really an ugly hack to get the script(1) command popSHELL: # since for some unknown reason it just execs $SHELL. popSHELL: # to run something arbitrary rather than the user's shell popSHELL: #!/bin/sh popvalue: # popvalue: # popvalue: # - Cameron Simpson 28jul2003 popvalue: # Pop and return the last value from a value stack. popvalue: #!/bin/sh portfwd: # portfwd: # portfwd: # - Cameron Simpson 08jul2008 portfwd: # Run named port forwards indefinitely. portfwd: #!/bin/sh -ue postcode-au: # postcode-au: # postcode-au: # - Cameron Simpson 28jun2007 postcode-au: # Translate place name into Australian postcode. postcode-au: #!/bin/sh -ue postpod: # postpod: # postpod: # - Cameron Simpson 10apr2004 postpod: # Link to main index. postpod: # Postprocess POD data, clean-up pass after prepod. postpod: #!/bin/sed -f pphtml: # pphtml: # pphtml: # - Cameron Simpson, cs@zip.com.au, 15jun94 pphtml: # Based on htparse, the debugging script. pphtml: # Read HTML and rewrite it nicely indented. pphtml: #!/usr/bin/perl pppssh-connect: # pppssh-connect: # pppssh-connect: # - Cameron Simpson 05oct2003 pppssh-connect: # Called from pppssh to handle the remote end of the connection. pppssh-connect: #!/bin/sh pppssh: # pppssh: # pppssh: # - Cameron Simpson 05oct2003 pppssh: # Calls pppssh-connect for the remote end. pppssh: # Yet another ppp-over-ssh script. pppssh: #!/bin/sh pptx: # pptx: # pptx: # Generate a permuted index. pptx: #!/usr/bin/perl prat: # prat: # prat: # - Cameron Simpson 24dec96 prat: # Invoke munpack with some default options for easy invocation. prat: #!/bin/sh prcat: # prcat: # prcat: # - Cameron Simpson 18sep2002 prcat: # Copy a file to stdout, with progress metering to stderr. prcat: #!/usr/bin/perl prci: #!/bin/sh prefetch: # prefetch: # prefetch: # - Cameron Simpson 19mar1999 prefetch: # Prefetch web pages so they're in the proxy cache. prefetch: #!/bin/sh prepod: # prepod: # prepod: # prepod: # - Cameron Simpson 01jul2003 prepod: # =author prepod: # =image => HTML IMG tag prepod: # =keywords => discarded prepod: # =modtime prepod: # Preprocess POD data to enhance it. prepod: # So far: prepod: # unDOSify stuff prepod: #!/bin/sed -f prfc: #!/bin/sh pring: #!/bin/sh procham: #!/bin/sh -u procmail-log: # procmail-log: # procmail-log: # - Cameron Simpson 05nov2006 procmail-log: # Recite procmail log in one-line form. procmail-log: #!/bin/sh -u procmailfor: # procmailfor: # procmailfor: # - Cameron Simpson 01aug2002 procmailfor: # Insert a header line to indicate the source mailbox then hand to procmail. procmailfor: #!/bin/sh procspam: # procspam: # procspam: # - Cameron Simpson procspam: # Process the mail item on stdin as spam. procspam: #!/bin/sh -u pruneleafdirs: # pruneleafdirs: # pruneleafdirs: # - Cameron Simpson pruneleafdirs: # Prune all empty directories. pruneleafdirs: #!/bin/sh ps2ascii: # ps2ascii: # ps2ascii: # - Cameron Simpson 07may97 ps2ascii: # Cleaner version of the scripts supplied with ghostscript. ps2ascii: #!/bin/sh ps_ppid: # ps_ppid: #!/bin/sh psa: #!/bin/sh -ue psd2jpg: # psd2jpg: # psd2jpg: # - Cameron Simpson 10nov2003 psd2jpg: # Convert PhotoShop (PSD) file to JPEG using the gimp. psd2jpg: #!/bin/sh pshuf: # pshuf: # pshuf: # pshuf: # pshuf: # ^/f\..*def$ pshuf: # - Cameron Simpson, February 1992 pshuf: # -num,... options apply before pages are rejected by the selector. pshuf: # -o option to troff you probably need to select the first physical pshuf: # Ditroff/psdit output defines the font select operators at their pshuf: # The select range selects on the input physical pages, but the -r and pshuf: # and move them into the Prolog, but jeez... pshuf: # first use, so if you select pages with pshuf rather than through the pshuf: # in the PostScript output. I could, I guess, add a hack to grab these pshuf: # page in addition to the desired pages. Locate the pattern: pshuf: # Notes: pshuf: # Shuffle and select pages of well-formed PostScript. pshuf: #!/usr/bin/perl psquid: #!/bin/sh psrot: # psrot: #!/bin/sh psu: #!/bin/sh -ue pt - print process tree ptail: # ptail: # ptail: # - Cameron Simpson 20nov98 ptail: # Return the last N lines of the input. ptail: # Stock tail commands seem to have buffer limitations. ptail: #!/usr/bin/perl ptroff: #!/bin/sh ptx2html: # ptx2html: # ptx2html: # - Cameron Simpson 01dec2004 ptx2html: # file left-context keyword right-context line-number ptx2html: # Read permuted index, emit HTML table of citations. ptx2html: # The permuted index should be like that produced from htmlptx: ptx2html: # tab separated. ptx2html: #!/usr/bin/perl -w pui: #!/bin/sh pull-group: # pull-group: # pull-group: # - Cameron Simpson 12may2008 pull-group: # Pull named groups and members from remote /etc/groups file. pull-group: #!/bin/sh -ue pull-user: # pull-user: # pull-user: # - Cameron Simpson 12may2008 pull-user: # Pull named users from remote /etc/passwd file. pull-user: #!/bin/sh -ue pushcss: # pushcss: # pushcss: # - Cameron Simpson 09jul2004 pushcss: # Rebuild the css kit, put to EZOS, also push account and css to named hosts. pushcss: #!/bin/sh -u pushmaildir: # pushmaildir: # pushmaildir: # - Cameron Simpson 27apr2007 pushmaildir: # Rsync a maildir, removing the originals after sync. pushmaildir: #!/bin/sh -ue pushttylabel: # pushttylabel: # pushttylabel: # pushttylabel: # - Cameron Simpson 25dec1999 pushttylabel: # Add -a to append to existing label. - cameron 23mar2000 pushttylabel: # Label the tty for the duration of a command, then restore. pushttylabel: # Make -a the default. - cameron 12apr2000 pushttylabel: #!/bin/sh pushvalue: # pushvalue: # pushvalue: # - Cameron Simpson 28jul2003 pushvalue: # Push a value onto a value stack file. pushvalue: #!/bin/sh putacc: # putacc: # putacc: # - Cameron Simpson putacc: # Push my account to other places. putacc: #!/bin/sh -u putcgi: # putcgi: # putcgi: # - Cameron Simpson 16feb2001 putcgi: # CGI script to PUT files for publishing tools. putcgi: #!/bin/sh putcss: # putcss: # putcss: # - Cameron Simpson 18jan2004 putcss: # Install local CSS to remote CSS. putcss: #!/bin/sh putim: #!/bin/sh putmail: # putmail: # putmail: # - Cameron Simpson 05feb2006 putmail: # Backup my mail folder to another host. putmail: #!/bin/sh -u pwcrypt: # pwcrypt: # pwcrypt: # - Cameron Simpson 07mar97 pwcrypt: # Generate a passwd-style encryption for the input. pwcrypt: #!/usr/bin/perl pxauth: # pxauth: # pxauth: # - Cameron Simpson, 20jun94 pxauth: # Print xauth info for piping into "gxauth -". pxauth: #!/bin/sh qbmk: # qbmk: # qbmk: # - Cameron Simpson 24jan2006 qbmk: # Look up bookmarks and pop up matching URLs. qbmk: #!/bin/sh -u qbos: #!/bin/sh qcmd: # qcmd: # qcmd: # qcmd: # - Cameron Simpson 22apr2001 qcmd: # qcmd -1 ssh xo:fnt -o foo -t host command 'arg with spaces' qcmd: # Example: qcmd: # Run a command with its final arguments concatenated into a single qcmd: # This is intended for passing arguments lists via commands like qcmd: # spaces. qcmd: # ssh and its predecessor rsh, which join their arguments with qcmd: # that the shell will decouple into the original argument list. qcmd: #!/usr/bin/perl qdlog: # qdlog: # qdlog: # - Cameron Simpson 14dec2005 qdlog: # Query my dlog. qdlog: #!/usr/bin/python -tt qenvssh: #!/bin/sh qmail-dequeue-bounces: # qmail-dequeue-bounces: # qmail-dequeue-bounces: # - Cameron Simpson 19may2008 qmail-dequeue-bounces: # It is probably a god idea to have the qmail system itself down while qmail-dequeue-bounces: # Move designated messages out of the qmail queue. qmail-dequeue-bounces: # you do this. qmail-dequeue-bounces: #!/bin/sh -ue qmail-list-bounces: # qmail-list-bounces: # qmail-list-bounces: # - Cameron Simpson 19may2008 qmail-list-bounces: # List qmail message numbers of queued bounces. qmail-list-bounces: #!/bin/sh -ue qprocmail: #!/bin/sh -u qptx: # qptx: # qptx: # - Cameron Simpson 03dec2004 qptx: # file left-context keyword right-context line-number qptx: # Query a permuted index, output matching lines. qptx: # The permuted index should be like that produced from htmlptx: qptx: # tab separated. qptx: #!/bin/sh qrsync: # qrsync: # qrsync: # - Cameron Simpson 08oct2008 qrsync: # A less noisy rsync output. qrsync: #!/bin/sh -ue qsencode: # qsencode: # qsencode: # - Cameron Simpson 30apr2002 qsencode: # Encode a string for use in a URL's QUERY_STRING. qsencode: #!/bin/sh qssh: # qssh: # qssh: # - Cameron Simpson 22apr2001 qssh: # Ssh for a single command, preserving arguments. qssh: #!/bin/sh que: #!/bin/sh query2url: # query2url: # query2url: # - Cameron Simpson 17may97 query2url: # Emit a GET URL embodying the specified query. query2url: #!/usr/bin/perl query_string2sh: # query_string2sh: # query_string2sh: # query_string2sh: # - Cameron Simpson 11aug1999 query_string2sh: # Take argument as a $QUERY_STRING CGI parameter and emit shell to query_string2sh: # Use $QUERY_STRING itself if no arg. query_string2sh: # turn the values into PARAM_x for each parameter x. query_string2sh: #!/bin/sh quoted-printable: # quoted-printable: # quoted-printable: # - Cameron Simpson 27aug2001 quoted-printable: # Encode data in quoted=-printable format.. quoted-printable: # Very quick'n'dirty. Should really stream for large input. quoted-printable: #!/usr/bin/perl rawhtv: #!/bin/sh rawmaildrop: # rawmaildrop: #!/bin/sh rbg: # rbg: # rbg: # - Cameron Simpson rbg: # Set the root background, update state files to match. rbg: #!/bin/sh -u rc.devfsconfig: # rc.devfsconfig: # rc.devfsconfig: # - Cameron Simpson 20aug2000 rc.devfsconfig: # Add symlinks for dumb apps with hardcoded paths :-( rc.devfsconfig: # chkconfig: 2345 00 99 rc.devfsconfig: # description: Makes compatibility symlinks for the weak. rc.devfsconfig: # probe: false rc.devfsconfig: #!/bin/sh rc.fastfs: # rc.fastfs: # rc.fastfs: # rc.fastfs: # Cameron Simpson 26jun2000 rc.fastfs: # See how we were called. rc.fastfs: # chkconfig: 2345 90 10 rc.fastfs: # description: Turn on asynchronous mode for local UFS filesystems. rc.fastfs: # fastfs Make local solaris filesystems asynchronous. rc.fastfs: # probe: false rc.fastfs: #!/bin/sh rde: #!/bin/sh rdiff: # rdiff: # rdiff: # - Cameron Simpson 22nov98 rdiff: # List recursive diff of two dirs with some noise chopped. rdiff: #!/bin/sh rdp-app: # rdp-app: # rdp-app: # - Cameron Simpson 17jan2008 rdp-app: # Run a windows app on its own via the SeamlessRDP extension. rdp-app: #!/bin/sh -ue readbugline: # readbugline: # readbugline: # - Cameron Simpson 10aug2004 readbugline: # Prompt for a change log line for a bug report. readbugline: #!/bin/sh -u readdottext: # readdottext: # readdottext: # - Cameron Simpson 23dec99 readdottext: # Prompt for text (typically a change description). readdottext: #!/bin/sh readline: # readline: # readline: # - Cameron Simpson 22feb2004 readline: # Read a line using the GNU readline stuff, for file completion. readline: # Would that there was a way to supply come initial content...:-( readline: #!/bin/sh -u readsymlink: # readsymlink: # readsymlink: # - Cameron Simpson 04dec2000 readsymlink: # Return the contents of a symlink. readsymlink: #!/usr/bin/perl rechgrp: # rechgrp: # rechgrp: # - Cameron Simpson 01jul2005 rechgrp: # Chgrp objects in the specified file trees from one gid to another. rechgrp: #!/bin/sh -u rechown: # rechown: # rechown: # - Cameron Simpson 19jun2005 rechown: # Chown objects in the specified file trees from one uid to another. rechown: #!/bin/sh -u recipe2html: # recipe2html: # recipe2html: # - Cameron Simpson 17may95 recipe2html: # Convert mod.recipes/alt.gourmand recipes source to HTML. recipe2html: #!/usr/bin/perl redeliver-email: # redeliver-email: # redeliver-email: # - Cameron Simpson redeliver-email: # Prune several headers to avoid bloat. redeliver-email: # Take email on stdin and deliver to the addresses specified. redeliver-email: #!/bin/sh regzip: # regzip: # regzip: # - Cameron Simpson 05nov2006 regzip: # Recompress a gzipped file with the specified options. regzip: # Written originally to recompress files with -n, so that regzip: # identical content creates identical compressed files. regzip: #!/bin/sh -u remailto: # remailto: # remailto: # - Cameron Simpson 24may2008 remailto: # Resend the mail item on stdin to the specified addresses, remailto: # This is really so I can filter it at GMail, which has remailto: # rather primitive filter rules. remailto: # rewriting the To: header to show the target address. remailto: #!/bin/sh -ue remap: # remap: # remap: # - Cameron Simpson 06jan2005 remap: # Read lines from stdin, write line and munged line on stdout. remap: #!/usr/bin/perl -w remote_xsession: #!/bin/sh renumgroup: # renumgroup: # renumgroup: # - Cameron Simpson 01jul2005 renumgroup: # Renumber a group. renumgroup: #!/bin/sh -u renumuser: # renumuser: # renumuser: # - Cameron Simpson 19jun2005 renumuser: # Renumber a user. renumuser: #!/bin/sh -u reslist: # reslist: # reslist: # - Cameron Simpson 22oct96 reslist: # Extract X resource names. reslist: #!/bin/sh respam: # respam: # respam: # - Cameron Simpson respam: # Forward the input n times to the given addresses. respam: # To be used _only_ when completely sure of the originator's email address. respam: # Used to send spam back to the orginator. respam: #!/bin/sh revecho: #!/bin/sh reverse: #!/usr/bin/perl revndx: # revndx: # revndx: # - Cameron Simpson 05jan98 revndx: # Emit an HTML listing if the tree. revndx: # Recurse down a directory tree containing event data. revndx: #!/bin/sh rewriteif: # rewriteif: # rewriteif: # - Cameron Simpson 19may2000 rewriteif: # Rewrite the named file if the input differs. rewriteif: #!/bin/sh -u rfc: # rfc: # rfc: # - Cameron Simpson 05nov1996 rfc: # Pop up an RFC. rfc: #!/bin/sh -u rfiles: # rfiles: # rfiles: # - Cameron Simpson 21jul2002 rfiles: # Simple wrapper for find in the current directory. rfiles: #!/bin/sh rg: # rg: # rg: # - Cameron Simpson 07aug2001 rg: # Recursive "g". rg: #!/bin/sh rglob: #!/bin/sh rhrelease: # rhrelease: # rhrelease: # - Cameron Simpson 07sep2003 rhrelease: # Pull the RedHat release number from the /etc/redhat-release file. rhrelease: #!/bin/sh rig-bom-kml: # rig-bom-kml: # rig-bom-kml: # - Cameron Simpson 16jan2007 rig-bom-kml: # All radars from http://mirror.bom.gov.au/weather/radar/ rig-bom-kml: # Generate current BOM rainfall KML. rig-bom-kml: #!/bin/sh -ue rig-gpg-agent: # rig-gpg-agent: # rig-gpg-agent: # - Cameron Simpson 30mar2005 rig-gpg-agent: # Set up a gpg-agent in daemon mode, much like rig-ssh-agent. rig-gpg-agent: #!/bin/sh rig-im-flat: # rig-im-flat: # rig-im-flat: # - Cameron Simpson 24mar2008 rig-im-flat: # Update a directory with a flat listing of symlinks to pictures. rig-im-flat: #!/bin/sh -ue rig-mail-despool: #!/bin/sh -ue rig-named.conf: # rig-named.conf: # rig-named.conf: # - Cameron Simpson 08aug2005 rig-named.conf: # Set up the forwarders lines in a named.conf file rig-named.conf: #!/bin/sh -u rig-ssh-agent: # rig-ssh-agent: # rig-ssh-agent: # - Cameron Simpson 30jul2001 rig-ssh-agent: # Set up a per-host ssh-agent in daemon mode if needed. rig-ssh-agent: #!/bin/sh -u rig-sshfs: #!/bin/sh -x rig-urxvtd: # rig-urxvtd: # rig-urxvtd: # - Cameron Simpson 10nov2005 rig-urxvtd: # Set up a urxvtd to run terminals. Report the control socket. rig-urxvtd: #!/bin/sh -u rig-xcompmgr: # rig-xcompmgr: # rig-xcompmgr: # - Cameron Simpson 13apr2007 rig-xcompmgr: # Start up xcompmgr. rig-xcompmgr: #!/bin/sh -u rigPATH: #!/bin/sh rigSOURCE_DISPLAY: # rigSOURCE_DISPLAY: # rigSOURCE_DISPLAY: # - Cameron Simpson 22mar2001 rigSOURCE_DISPLAY: # Determine hostname based $DISPLAY. rigSOURCE_DISPLAY: # This is basicly because Solaris at least short-circuits "localhost:" to rigSOURCE_DISPLAY: # go via the UNIX domain socket as though it were "unix:", which is rigSOURCE_DISPLAY: # naughty, breaking some stuff. rigSOURCE_DISPLAY: #!/bin/sh rigacc: # rigacc: # rigacc: # - Cameron Simpson 29jun2003 rigacc: # Run to hook my core stuff up. rigacc: #!/bin/sh rigapollo: # was tpm -r -s 10000 10000 rigapollo: #!/bin/sh rigbin: #!/bin/sh rigdir: # rigdir: # rigdir: # - Cameron Simpson, 04dec92 rigdir: # Mimic transparent multiple directory mounts through cunning use rigdir: # of link and symlink. rigdir: #!/usr/bin/perl rigenv-trivial: #!/bin/sh rigenv: #!/bin/sh rigfetchmail: # rigfetchmail: # rigfetchmail: # - Cameron Simpson 14dec2003 rigfetchmail: # Dispatch a daemon mode fetchmail. rigfetchmail: #!/bin/sh rigfilemail: # set up the mail/news autofiler rigfilemail: #!/bin/sh rigfreenet: # rigfreenet: # rigfreenet: # - Cameron Simpson 29dec2000 rigfreenet: # Current is test mode, so no advertising. rigfreenet: # Set up my freenet server. rigfreenet: #!/bin/sh rigftp: # rigftp: # rigftp: # Consult my .ftprc file and construct my ftp directory. rigftp: #!/bin/sh rigfvwmcmd: #!/bin/sh rigfvwmevlog: #!/bin/sh rigfvwmvars: # rigfvwmvars: # rigfvwmvars: # - Cameron Simpson 23jul2002 rigfvwmvars: # Set up a fresh set of FVWM logs and FIFOs and save in envvars. rigfvwmvars: #!/bin/sh riggetmail: #!/bin/sh -u righttpgetd: #!/bin/sh -u rigjuke: #!/bin/sh rigloadmeters: # rigloadmeters: # rigloadmeters: # - Cameron Simpson rigloadmeters: # Instantiatie the usual load meters. rigloadmeters: #!/bin/sh rigman: #!/bin/sh rigmodem: # rigmodem: # rigmodem: # rigmodem: # Expects to be used as "~$rigmodem [targets...]" from inside tip. rigmodem: # Usage: rigmodem [-line n] [targets...] rigmodem: #!/bin/sh rigmotion: # rigmotion: # rigmotion: # - Cameron Simpson 27jan2002 rigmotion: # File up motion setings output the log file. rigmotion: #!/bin/sh rigmydb: #!/bin/sh rignntpcache: #!/bin/sh rigrc: # rigrc: # rigrc: # - Cameron Simpson 06nov2002 rigrc: # Set up my RC files and symlinks. rigrc: #!/bin/sh rigrxvtbg: # rigrxvtbg: # rigrxvtbg: # - Cameron Simpson 31aug2000 rigrxvtbg: # Regularly run setrxvtbg in the background. rigrxvtbg: #!/bin/sh rigslideshowdir: # rigslideshowdir: # rigslideshowdir: # - Cameron Simpson 01aug2003 rigslideshowdir: # Emits shell; pipe through "sh -x" to actually do stuff. rigslideshowdir: # Make a slideshow directory - a dir full of symlinks to things to show. rigslideshowdir: #!/bin/sh rigsquid_redirect: # rigsquid_redirect: # rigsquid_redirect: # - Cameron Simpson 01jul2004 rigsquid_redirect: # Dispatch my squid - generally runs an adzapper. rigsquid_redirect: #!/bin/sh -u rigsshdir: # rigsshdir: # rigsshdir: # - Cameron Simpson 06nov2002 rigsshdir: # Construct necessary personal ssh keys and other setup for a host. rigsshdir: #!/bin/sh rigstubs: #!/bin/sh rigtcpiofwds: # rigtcpiofwds: # rigtcpiofwds: # - Cameron Simpson 03may2005 rigtcpiofwds: # localaddr localport remotehost remoteport rigtcpiofwds: # Dispatch tcpio cleartext TCP forwards according to input data. rigtcpiofwds: # Input line format: rigtcpiofwds: # on port "localport", using rnc to forward connections via nc rigtcpiofwds: # to the host "remotehost", port "remoteport". rigtcpiofwds: # which sets up a "tcpio -a" to listening on the interface "localaddr" rigtcpiofwds: #!/bin/sh rigtcpiornc: # rigtcpiornc: # rigtcpiornc: # - Cameron Simpson 03may2005 rigtcpiornc: # localaddr localport remotesite remotehost remoteport rigtcpiornc: # Dispatch tcpio ssh tunnel according to input data. rigtcpiornc: # Input line format: rigtcpiornc: # and thence via nc to the host "remotehost", port "remoteport". rigtcpiornc: # on port "localport", using rnc to forward connections via ssh to "remotesite" rigtcpiornc: # which sets up a "tcpio -a" to listening on the interface "localaddr" rigtcpiornc: #!/bin/sh -u rigvnc: #!/bin/sh -u rigx2x: # rigx2x: # rigx2x: # - Cameron Simpson 28dec2000 rigx2x: # Wrapper for x2x and x2vnc to use default options. rigx2x: #!/bin/sh -u rigxauth: # rigxauth: # rigxauth: # - Cameron Simpson, 01aug92 rigxauth: # Set up xauth for this display, then copy it to our base homes. rigxauth: #!/bin/sh rigxv: #!/bin/sh ring: # ring: # ring: # - Cameron Simpson ring: # Look up phone lists. Each entry has a non-blank in column one. ring: #!/usr/bin/perl rl: #!/bin/sh rlr: # rlr: # rlr: # - Cameron Simpson 20sep95 rlr: # Replace text between two lines denoted by regexps. rlr: #!/bin/sh -u rm-small.gif: # rm-small.gif: #!/bin/sh rm0: # rm0: # rm0: # - Cameron Simpson 05dec2005 rm0: # Remove empty files. rm0: #!/bin/sh -u rm0gz: # rm0gz: # rm0gz: # - Cameron Simpson 07nov2007 rm0gz: # Remove gzip files whose contents are zero length. rm0gz: #!/bin/sh -u rm0maildir: # rm0maildir: # rm0maildir: # - Cameron Simpson 05jun2006 rm0maildir: # Remove an empty maildir. rm0maildir: #!/bin/sh rmafter: # rmafter: # rmafter: # - Cameron Simpson 18feb2002 rmafter: # Run a command and remove a file afterwards. rmafter: #!/bin/sh rmbg: # rmbg: # rmbg: # - Cameron Simpson rmbg: # Remove a background image altogether. rmbg: # See also nbg and bglist. rmbg: #!/bin/sh rmleafdirs: # rmleafdirs: # rmleafdirs: # - Cameron Simpson 10apr2000 rmleafdirs: # Clean out empty directories. rmleafdirs: #!/bin/sh rmmjuser: # rmmjuser: # rmmjuser: # Remove a user from the majordomo lists. rmmjuser: #!/bin/sh rmr: #!/bin/sh rmthen: # rmthen: # rmthen: # - Cameron Simpson 01feb2004 rmthen: # Remove a file then run a command. rmthen: #!/bin/sh rnc: # rnc: # rnc: # - Cameron Simpson 11jul2004 rnc: # Remote netcat. rnc: #!/bin/sh -u rollfile: # rollfile: # rollfile: # - Cameron Simpson 25nov2003 rollfile: # Roll a file sideways to file.1 etc. rollfile: # Understands both uncompressed and gzipped backups. rollfile: #!/bin/sh rolljobs: # rolljobs: # rolljobs: # - Cameron Simpson 29jul2003 rolljobs: # Roll job times over. Run a report to stdout. rolljobs: #!/bin/sh rollmail: # rollmail: # rollmail: # rollmail: # - Cameron Simpson 11feb1998 rollmail: # Bundle up files in a mail spool. rollmail: # Use catmaildir and gzip instead of tar. - cameron 27mar2000 rollmail: #!/bin/sh root@: # root@: # root@: # - Cameron Simpson 20may2002 root@: # Make/attach a logged screened root session on a host. root@: #!/bin/sh rootbg: # rootbg: # rootbg: # - Cameron Simpson 20nov2000 rootbg: # Get or set the global/default root backdrop. rootbg: #!/bin/sh -u rootenv: # rootenv: # rootenv: # - Cameron Simpson 07nov2000 rootenv: # Adopt a rootlike environment. rootenv: #!/bin/sh rot13: #!/usr/bin/perl -p rov: # rov: # rov: # - Cameron Simpson 27apr2007 rov: # Overlay one dir on another, except for conflicts. rov: #!/bin/sh -ue rpmof: # rpmof: # rpmof: # - Cameron Simpson 17sep2002 rpmof: # Recite the source RPMs for everything in the named directories. rpmof: #!/bin/sh rpmq: # rpmq: # rpmq: # - Cameron Simpson 29jul2005 rpmq: # Invoke rpm -q with useful package names. rpmq: #!/bin/sh rpms: # rpms: # rpms: # Install date of all RPMs most recent first. rpms: # Script courtesy of Aaron Konstam rpms: #!/bin/bash rpmsize: # rpmsize: # rpmsize: # - Cameron Simpson 07apr2002 rpmsize: # Report the size of the installed files associated with an RPM. rpmsize: #!/bin/sh rpmtar: # rpmtar: # rpmtar: # - Cameron Simpson 21oct2004 rpmtar: # Emit a tar file on stdout containing the files supplied by rpmtar: # the named RPMs. rpmtar: #!/bin/sh rrsync: #!/bin/sh rslaves: #!/bin/sh rsq: # rsq: # rsq: # - Cameron Simpson 25may2004 rsq: # List the shares offered by rsync servers. rsq: #!/bin/sh rst2fh: # rst2fh: # rst2fh: # - Cameron Simpson 24sep96 rst2fh: # Nab header and then feed rest to "restore tf -" and parse the output, rst2fh: # emitting stuff for the budtool file history. rst2fh: #!/usr/bin/perl rsync_rsh: #!/bin/sh rsync_rsh: ##set -x rtermif: # rtermif: # rtermif: # - Cameron Simpson 23oct2001 rtermif: # Open fresh shell on target machine in new window. rtermif: #!/bin/sh rtoc: # rtoc: # rtoc: # - Cameron Simpson 30mar2001 rtoc: # Coded up for Loren Hobbs . rtoc: # Recursively list tar files. rtoc: # Returns my "mkdirn" and "t" scripts (and "x", a symlink to "t"). rtoc: #!/bin/sh rtop: #!/bin/sh runfetchmail: # runfetchmail: # runfetchmail: # - Cameron Simpson 31dec2003 runfetchmail: # Run a regular fetchmail. Pulled from rigfetchmail. runfetchmail: # Why not "fetchmail --daemon"? Because I want to tune options between runfetchmail: # runs, from outside. runfetchmail: #!/bin/sh -u rungetmail: # rungetmail: # rungetmail: # - Cameron Simpson 18mar2006 rungetmail: # Run a regular getmail, as for runfetchmail. rungetmail: #!/bin/sh -u runmaint-atboot: # runmaint-atboot: # runmaint-atboot: # - Cameron Simpson 22sep2002 runmaint-atboot: # http://www.cskk.ezoshosting.com/cs/syncopt/ runmaint-atboot: # Can be overridden by presetting this variable. runmaint-atboot: # Installation prefix, typically /usr/local. runmaint-atboot: # Run the boot runmaint scripts of any users with .maint directories. runmaint-atboot: # The /opt/runmaint path fits the syncopt scheme as described here: runmaint-atboot: #!/bin/sh runoff: #!/bin/sh runsquid: # runsquid: # runsquid: # - Cameron Simpson 07nov2007 runsquid: # Perform various tasks with a squid cache. runsquid: #!/bin/sh -ue runwhile: # runwhile: # runwhile: # - Cameron Simpson 02sep2008 runwhile: # Run a command while a condition holds true. runwhile: #!/bin/sh -ue rxt: # rxt: #!/bin/sh rxvtbglog: #!/bin/sh saveurl: # saveurl: # - Cameron Simpson 17oct2003 saveurl: # saveurl: # Fetch a URL and save with apphelper. saveurl: #!/bin/sh sbg: #!/bin/sh scan: # scan: # scan: # - Cameron Simpson 20may2006 scan: # Simple wrapper for scanimage. scan: #!/bin/sh -u scr: # scr: # scr: # - Cameron Simpson 18may2002 scr: # Attach to specified screen or make new one of specified name. scr: #!/bin/sh -u screens: # screens: # screens: # - Cameron Simpson 02apr2003 screens: # Allocate (or reuse) a named screen session, returning its number. screens: # Manage named screens for a host. screens: #!/bin/sh search-url: # search-url: # search-url: # search-url: # - Cameron Simpson 05aug2003 search-url: # Return a search URL for the supplied engine and query. search-url: # Transmute into shell. - cameron 25jun2005 search-url: #!/bin/sh -u search: # search: # search: # - Cameron Simpson 10may1997 search: # Search arbitrary web indices. search: #!/bin/sh -u secret: # secret: # secret: # secret: # - Cameron Simpson 09nov1999 secret: # Fetch or secrete a secret. secret: # Python port for better secret name syntax. - cameron 18mar2008 secret: #!/usr/bin/python -tt sed_fd: # sed_fd: # sed_fd: # - Cameron Simpson 18jul2008 sed_fd: # Wrapper for filter_fd that runs a sed script filter. sed_fd: #!/bin/sh -ue sedstrs: # sedstrs: # sedstrs: # - Cameron Simpson 25aug1997 sedstrs: # blah=`echo "$blah" | sed 's/this/that/g'` sedstrs: # Tired of fighting with broken echo commands which interpret -n sedstrs: # or \c etc, I resort to this cumbersome wrapper for the common sedstrs: # thing. sedstrs: #!/usr/bin/perl send2procmail: # send2procmail: # send2procmail: # - Cameron Simpson 08jul2002 send2procmail: # Used as the sendmail backend for mutt to assemble a message (usually for send2procmail: # just discard the sendmail arguments and go send2procmail: # multiple attachments) and refile with procmail. send2procmail: #!/bin/sh sendmesg-fcc: # sendmesg-fcc: # sendmesg-fcc: # - Cameron Simpson 14dec2005 sendmesg-fcc: # Wrapper for sendmesg to take copies of message in the specified folders. sendmesg-fcc: #!/bin/sh -u sendmesg: # sendmesg: # sendmesg: # - Cameron Simpson 08jun2002 sendmesg: # Acts like sendmail but intercepts messages to newsgroup@usenet and sendmesg: # command line. sendmesg: # dispatches then via NNTP, suitably rewritten. Addresses come on the sendmesg: #!/usr/bin/perl -w sendurl: # Stub to dispatch URL from FireBird. - Cameron Simpson 24oct2003 sendurl: #!/bin/sh seqmklinks: # seqmklinks: # seqmklinks: # seqmklinks: # - Cameron Simpson 17feb2007 seqmklinks: # Sequential mklinks. Iterate along a sequence of files, hardlinking seqmklinks: # This is also useful on machines with older pythons that won't run my seqmklinks: # adjacent identical files. This is aimed at compressions sequential seqmklinks: # mklinks script. seqmklinks: # regression or dump files, where often there may be no change between seqmklinks: # sucessive runs. seqmklinks: #!/bin/sh -u set-x: #!/bin/sh setbg: # setbg: # setbg: # - Cameron Simpson 19may99 setbg: # Set my screen backdrop. setbg: #!/bin/sh setrxvtbg: # setrxvtbg: # setrxvtbg: # - Cameron Simpson 31aug2000 setrxvtbg: # Create a temporary xpm file and set the background of an rxvt. setrxvtbg: # exit 0 ## for a moment setrxvtbg: #!/bin/sh setvar: # setvar: # setvar: # setvar: # - Cameron Simpson, 18may1993 setvar: # Added -f to force resetting variables. - cameron, 11jan1994 setvar: # Generalisation. - cameron, 02dec1998 setvar: # Must be sourced, and defines the shell function setvar() as a consequence. setvar: # Python recode, syntax change, bootstrap. - cameron 23mar2008 setvar: # Recoded in Perl to bypass more shell braindamage. setvar: # Recoded not to recurse to bypass Sys5 shell braindamage. - cameron, 30jul1993 setvar: # Removed -n option. setvar: # Script to compute various environment parameters. setvar: # You don't source it anymore. - cameron, 07jan1994 setvar: #!/usr/bin/python -tt sgparse: # sgparse: # sgparse: # - Cameron Simpson 26oct99 sgparse: # Extract tokens from SGML. sgparse: #!/usr/bin/perl sha1index: #!/usr/bin/env python2.5 shc: # shc: # shc: # - Cameron Simpson , 04oct94 shc: # Run a command with $1, $2 etc set up. shc: #!/bin/sh shconv: # shconv: # shconv: # - Cameron Simpson 20jul2002 shconv: # Diretories are walked. Support "-" as "read args from stdin". shconv: # For each arg, run a shell command to convert data formats. shconv: #!/bin/sh shell: # shell: # shell: # - Cameron Simpson 28feb1999 shell: # General wrapper for various shells to tweak SHELL to match. shell: #!/bin/sh showface: # showface: # showface: # - John Kodis showface: # Receive a message with an X-Face: header on stdin and display it. showface: #! /bin/sh showmars: # showmars: # showmars: # - Cameron Simpson 18oct2002 showmars: # Incantation from Andrew Raphael. showmars: # Show all machines on mars (meaning they're not in our VMPS table, but are plugged in). showmars: #!/bin/sh showpageurls: # showpageurls: #!/bin/sh showtxturls: #!/bin/sh shqstr: # shqstr: # shqstr: # - Cameron Simpson 22apr2001 shqstr: # Emit the arguments suitably quoted for passing via the shell. shqstr: #!/usr/bin/perl shuffle: # shuffle: # shuffle: # - Cameron Simpson 14jul2000 shuffle: # (I really think seq(1) should have a -r to make a random sequence, shuffle: # Reorder the input lines at random. shuffle: # but apparently not). shuffle: #!/usr/bin/perl shx: # shx: # shx: # - Cameron Simpson 25jul99 shx: # Coloured tracing sh. shx: #!/bin/sh si: # si: #!/bin/sh sig: #!/bin/sh -u signal: #!/bin/sh sl: # sl: # sl: # - Cameron Simpson 07may1997 sl: # Walk path reporting symlinks. sl: #!/usr/bin/perl slaves: #!/bin/sh sm: # sm: # sm: # - Cameron Simpson 16aug96 sm: # Short message. sm: #!/bin/sh smail: # smail: # smail: # smail: # Dispatch complete message to addresses. smail: # Usage: smail addresses... < complete-message smail: #!/bin/sh smnt: # smnt: # smnt: # - Cameron Simpson 10jan2003 smnt: # Quick mount of PC share for archiving. smnt: #!/bin/sh -ue sms: # sms: # sms: # - Cameron Simpson 30jun1997 sms: # Dispatch stdin to the named phone numbers. sms: #!/bin/sh smsmodem: # smsmodem: # smsmodem: # - Cameron Simpson 15may2003 smsmodem: # Dispatch a message to an attached SMS modem. smsmodem: #!/bin/sh smtp: #!/bin/sh smtpsend: # smtpsend: # smtpsend: # - Cameron Simpson 4aug2000 smtpsend: # Dispatch email with SMTP. smtpsend: #!/usr/bin/perl sn4: #!/bin/sh sn: #!/bin/sh snap-chkfiles: # snap-chkfiles: # snap-chkfiles: # - Cameron Simpson 24aug96 snap-chkfiles: # Examine a list of files to see which have changed. snap-chkfiles: #!/usr/bin/perl snap: # snap: # snap: # - Cameron Simpson 17sep96 snap: # Use buff, chkfiles and updfiles to make a cpio file of stuff to snap: # copy to a remote site. snap: #!/bin/sh snapshot: # snapshot: # snapshot: # - Cameron Simpson 01sep96 snapshot: # Generate a snapshot of the new files in a distribution. snapshot: # Uses chkfiles to track state. Writes a cpio file of the new files. snapshot: #!/bin/sh snarfaddrs: # snarfaddrs: # snarfaddrs: # - Cameron Simpson 31jan2002 snarfaddrs: # Grab addrs.new and incorporate it into addrs.all. snarfaddrs: #!/usr/bin/perl snarfbookmarks: # snarfbookmarks: # snarfbookmarks: # - Cameron Simpson 05oct99 snarfbookmarks: # Squirrel away a copy of my live bookmarks. snarfbookmarks: #!/bin/sh snooplogtally: # snooplogtally: # snooplogtally: # - Cameron Simpson 19nov98 snooplogtally: # Parse snoopstats logs and graph. snooplogtally: #!/usr/bin/perl snoopstats: # snoopstats: # snoopstats: # - Cameron Simpson 14jan99 snoopstats: # Originally written to measure X11 or ssh traffic for a cable modem snoopstats: # Simple wrapper for snoop to parse the packet info. snoopstats: # feasibility estimate. snoopstats: #!/bin/sh snow: #!/bin/sh soelim: # soelim: # soelim: # - Cameron Simpson soelim: # Handles relative .sos properly, compressed files etc. soelim: # Replacement for the usual soelim program. soelim: #!/usr/bin/perl sort-apache-log: # sort-apache-log: # sort-apache-log: # - Cameron Simpson 30aug2007 sort-apache-log: # Read Apache log lines from stdin, annotate with UNIX time, pipe into sort-apache-log: # sort and de-annotate. sort-apache-log: #!/usr/bin/python -tt sortcol: # sortcol: # sortcol: # - Cameron Simpson 28sep2000 sortcol: # Read a titled listing (such as from ps) from stdin and sort on the named sortcol: # columns. Functions by translating column names into sort(1) arguments and sortcol: # passing the header line through directly. sortcol: #!/usr/bin/perl sortgroup: # sortgroup: # sortgroup: # - Cameron Simpson 12dec97 sortgroup: # Read UNIX group file, emit in gid order with group members sorted. sortgroup: #!/usr/bin/perl sortlen: # sortlen: # sortlen: # - Cameron Simpson 12jan2001 sortlen: # Sort on line length. sortlen: #!/bin/sh sourcethen: # sourcethen: # sourcethen: # - Cameron Simpson 24dec2004 sourcethen: # Source a shell file the run a command. sourcethen: #!/bin/sh sp_: # sp_: # sp_: # - Cameron Simpson 22apr2001 sp_: # Can't actually remember why I needed this... :-( sp_: # Replace whitespace with underscores. sp_: #!/bin/sh splitdir: # splitdir: # splitdir: # - Cameron Simpson 27aug2003 splitdir: # Split up a directory into chunks no larger than a certain size splitdir: # eg to span some CDROMs. splitdir: #!/bin/sh splitmail: # splitmail: # splitmail: # splitmail: # - Cameron Simpson 12jun2001 splitmail: # - Cameron Simpson, February 1992 splitmail: # If a mailbox is specified, uses filemailitem to deposit the mail. splitmail: # If a pipeline is specified, pipes each item to that command (eg "|bgprocmail"). splitmail: # Otherwise unpacks into the current directory. splitmail: # Split up an ordinary mailbox (From_ separated). splitmail: # Support "| command" in place of mailbox. splitmail: #!/usr/bin/perl splitmbox2maildir: # splitmbox2maildir: # splitmbox2maildir: # - Cameron Simpson 08nov2006 splitmbox2maildir: # Read UNIX mbox format on stdin, write messages to the named maildir. splitmbox2maildir: #!/usr/bin/python -tt spu: #!/bin/sh sqenv: #!/bin/sh -u sqlclean: # sqlclean: # sqlclean: # - Cameron Simpson 24nov99 sqlclean: # Embed newlines in MySQL database dumps, for diffing. sqlclean: #!/usr/bin/perl -pe squashblanks: # squashblanks: # squashblanks: # squashblanks: # - Cameron Simpson 09may2002 squashblanks: # Add skipheaders and outputfilter. - cameron 15may2002 squashblanks: # Coalesce adjacent blank lines. Detab. Strip trailing whitespace. squashblanks: # Nothing that others haven't done before me. Just can't find it. squashblanks: #!/usr/bin/perl squashrepeats: # squashrepeats: # squashrepeats: # - Cameron Simpson 22mar2008 squashrepeats: # Collapse repeated messages much as syslog does. squashrepeats: #!/usr/bin/awk -f squidlog2generic: # squidlog2generic: # squidlog2generic: # - Cameron Simpson 26mar99 squidlog2generic: # Parse squid logs and emit data suitable for use by logtally. squidlog2generic: #!/usr/bin/perl squidlog: # squidlog: # squidlog: # - Cameron Simpson 20nov98 squidlog: # Fetch the last n lines from both proxy logs and collate. squidlog: #!/bin/sh squidlogtally: # squidlogtally: # squidlogtally: # - Cameron Simpson 19nov98 squidlogtally: # Parse squid logs and do cool things, like graph bandwidth etc. squidlogtally: #!/usr/bin/perl ssh-2any: # ssh-2any: # ssh-2any: # - Cameron Simpson 01may2005 ssh-2any: # Endpoint for receipt of the 2any sshtunnels key. ssh-2any: #!/bin/sh -u ssh-agent-none: #!/bin/sh ssh-agent-statefile: # ssh-agent-statefile: # ssh-agent-statefile: # - Cameron Simpson 01feb2004 ssh-agent-statefile: # Default location for stashing ssh agent state envvars. ssh-agent-statefile: #!/bin/sh ssh-have-key: # ssh-have-key: # ssh-have-key: # - Cameron Simpson 10feb2003 ssh-have-key: # See if our ssh-agent has a particular key. ssh-have-key: #!/bin/sh ssh-keyfile: # ssh-keyfile: # ssh-keyfile: # - Cameron Simpson 31aug2003 ssh-keyfile: # Return the base name of the ssh key file for the given type and purpose. ssh-keyfile: #!/bin/sh sshb: # sshb: # sshb: # - Cameron Simpson 26mar2003 sshb: # Ssh in batchmode. sshb: #!/bin/sh ssho: #!/bin/sh sshop1: #!/bin/sh sshp1: #!/bin/sh sshpf: # sshpf: # sshpf: # - Cameron Simpson 18jan2006 sshpf: # Kick of a port forward ssh. sshpf: #!/bin/sh -u sshto: # sshto: # sshto: # - Cameron Simpson 28may2004 sshto: # Assorted other minor features. sshto: # Bang style ssh for hopping through firewalls etc. sshto: # Sshes from host to host to reach destination. sshto: #!/bin/sh -u stash-gpg-agent: # stash-gpg-agent: # stash-gpg-agent: # - Cameron Simpson 30mar2005 stash-gpg-agent: # Stash the GnuPG environment state variables, as for stash-ssh-agent. stash-gpg-agent: #!/bin/sh stash-ssh-agent: # stash-ssh-agent: # stash-ssh-agent: # - Cameron Simpson 01feb2004 stash-ssh-agent: # Stash the SSH environment state variables. stash-ssh-agent: #!/bin/sh -u stash-xrdb: # stash-xrdb: # stash-xrdb: # - Cameron Simpson 26nov2001 stash-xrdb: # Suck the screen X resources out into the filesystem. Called by rterm. stash-xrdb: #!/bin/sh stashcvs: # stashcvs: # stashcvs: # Snapshot my cvs archive. - Cameron Simpson 18may1997 stashcvs: #!/bin/sh stashenv: # stashenv: # stashenv: # - Cameron Simpson, 15may1993 stashenv: # Write shell script to reload environment. stashenv: #!/usr/bin/perl stashhotlist: # stashhotlist: # stashhotlist: # - Cameron Simpson 06sep95 stashhotlist: # Stash hotlists. stashhotlist: #!/bin/sh stashxface: # stashxface: # stashxface: # - Cameron Simpson , 14jul94 stashxface: # Read fromaddrs and X-Face: data from stdin and save in face directory. stashxface: #!/usr/bin/perl stat2html: # stat2html: #!/usr/bin/perl statpath: # statpath: # statpath: # - Cameron Simpson 19oct97 statpath: # Reduce a path to the extant components, tossing duplicates. statpath: #!/usr/bin/perl std: # std: # std: # - Cameron Simpson std: # Seconds since epoch to human time. std: #!/usr/bin/perl stdcc: # stdcc: # stdcc: # - Cameron Simpson stdcc: # Try really hard to run the most sane compiler we can with POSIX and XOPEN stdcc: # support. stdcc: #!/bin/sh stdenv: # stdenv: # stdenv: # - Cameron Simpson stdenv: # Run a command with a specific environment setup. stdenv: #!/bin/sh strings: # strings: # strings: # strings: # Hook to mark start/end of block. strings: # Major recode. - cameron 18jun99 strings: # Strings rewrite. - Cameron Simpson strings: #!/usr/bin/perl stripnuls: # stripnuls: # stripnuls: # - Cameron Simpson , 12aug94 stripnuls: # Elide NULs and 255s from stdin, copying to stdout. stripnuls: #!/usr/bin/perl stripwhite: # stripwhite: # stripwhite: # - Cameron Simpson 02jul2005 stripwhite: # Strip trailing whitespace and leading blank lines. stripwhite: #!/bin/sed -nf stutter: # stutter: # stutter: # - Cameron Simpson 14jul2007 stutter: # Run and stall a command with a configurable duty cycle. stutter: #!/bin/sh -ue subdirs-disjoint: # subdirs-disjoint: # subdirs-disjoint: # - Cameron Simpson subdirs-disjoint: # Report a minimal set of distinct spanning subdirectories including the subdirs-disjoint: # specified subdirectories. subdirs-disjoint: #!/usr/bin/python -tt subfile: #!/bin/sh subn2n4: # subn2n4: # subn2n4: # - Cameron Simpson 30apr2000 subn2n4: # nnnn/n subn2n4: # nnnn/nnnn subn2n4: # Convert a subnet list of the form subn2n4: # for squid acl lists. subn2n4: # to the form subn2n4: #!/usr/bin/perl svn-cvs-import: # svn-cvs-import: # svn-cvs-import: # - Cameron Simpson 10sep2006 svn-cvs-import: # Simple wrapper for single-project CVS import into SVN using cvs2svn. svn-cvs-import: #!/bin/sh -u sydney-busses2gmap: # sydney-busses2gmap: # sydney-busses2gmap: # - Cameron Simpson 28jun2007 sydney-busses2gmap: # An assortment of hacks to translate Sydney Busses locations into Google sydney-busses2gmap: # Maps locations. sydney-busses2gmap: #!/bin/sed -f syncacc: # syncacc: # syncacc: # - Cameron Simpson 29jun2004 syncacc: # Rsync my account from one place to another. syncacc: # Usually I use putacc to call this, but occasionally getacc. syncacc: #!/bin/sh syncdir: # syncdir: # syncdir: # - Cameron Simpson 19apr2004 syncdir: # Rsync a directory from my homedir to another account. syncdir: #!/bin/sh syncenv: # syncenv: # syncenv: # - Cameron Simpson 25dec2004 syncenv: # Emit output to re-source the environment files if they've been updated. syncenv: # Have to do them all if any are new because of ordering. syncenv: #!/bin/sh -u syncezos-cgi: #!/bin/sh syncezos-kath: # syncezos-kath: # - Cameron Simpson 11jan2003 syncezos-kath: # Push Kath's stuff to EZOS. syncezos-kath: #!/bin/sh syncezos-rc: # syncezos-rc: # syncezos-rc: # - Cameron Simpson syncezos-rc: # Copy a few rc files into the EZOS web tree. syncezos-rc: #!/bin/sh syncezos: # syncezos: # - Cameron Simpson 11jan2003 syncezos: # Update my ezoshosting web site. syncezos: #!/bin/sh syncjekyll: #!/bin/sh synclinks: # synclinks: # synclinks: # - Cameron Simpson 28feb99 synclinks: # Rebuild my symlinks. synclinks: #!/bin/sh syncrootbg: # syncrootbg: # syncrootbg: # - Cameron Simpson syncrootbg: # Make the root background be what it should be. syncrootbg: # Pulled from enterdesk for use there and from deskbg. syncrootbg: #!/bin/sh syncsf: # syncsf: # syncsf: # - Cameron Simpson 23oct2002 syncsf: # Update my sourceforge projects. syncsf: #!/bin/sh syncsmall: #!/bin/sh syncvidcaps: #!/bin/sh synczap: # synczap: # synczap: # - Cameron Simpson 21apr1999 synczap: # Propagate the adzap script and pattern file. synczap: #!/bin/sh synczip: #!/bin/sh szcmp: # szcmp: #!/bin/sh t2: # t2: # t2: # - Cameron Simpson 02feb2002 t2: # Run up X with settings suitable for Tribes2. t2: #!/bin/sh t5bg: # t5bg: # t5bg: # - Cameron Simpson 14feb2005 t5bg: # Create a suitable (480x320) JPEG for use as a Tungsten T5 background image. t5bg: #!/bin/sh t: #!/bin/sh tag_fd: # tag_fd: # tag_fd: # - Cameron Simpson 18may1999 tag_fd: # Tag a stream (or streams) with a prefix. tag_fd: #!/bin/sh -u tailctl: # tailctl: #!/bin/sh tailf: # tailf: # tailf: # tailf: # Multifile tail -f. - Cameron Simpson tailf: # Recode. - cameron 13feb2002 tailf: #!/usr/bin/perl tallyprocmaillog: # tallyprocmaillog: # tallyprocmaillog: # - Cameron Simpson 04aug2002 tallyprocmaillog: # Process a procmail log and tally delivery totals. tallyprocmaillog: #!/usr/bin/perl tap: # tap: # tap: # - Cameron Simpson 17may2002 tap: # Run a logged script session attached to the specified serial port. tap: #!/bin/sh -u tapelabel: # tapelabel: # tapelabel: # - Cameron Simpson 09mar2008 tapelabel: # Report the tape label of the specified jukebox slot, tapelabel: # or the reverse. tapelabel: #!/bin/sh -ue taprd: # taprd: #!/usr/bin/perl tb: #!/bin/sh tcp-listening: # tcp-listening: # tcp-listening: # - Cameron Simpson 03jan2006 tcp-listening: # Test if the specified local port is listening. tcp-listening: #!/bin/sh -u tcplog2generic: # tcplog2generic: # tcplog2generic: # - Cameron Simpson 07may99 tcplog2generic: # Parse tcpdump logs and emit data suitable for use by logtally. tcplog2generic: #!/usr/bin/perl tcplog: # tcplog: # tcplog: # - Cameron Simpson 07may1999 tcplog: # Fetch the last tcpdump log from del and graph usage. tcplog: #!/bin/sh td: # td: # td: # - Cameron Simpson 21jun2004 td: # Wrapper for the tdl to-do list app. td: #!/bin/sh -u teemail: # teemail: # teemail: # - Cameron Simpson, 06may94 teemail: # Copy stdin to the named files and also append to $MAIL. teemail: #!/bin/sh telnos: # telnos: # telnos: # - Cameron Simpson telnos: # Append to a log. telnos: #!/bin/sh term: # term: # term: # term: # - Cameron Simpson December 1991 term: # Default location is tuned to my X11 setup (i.e. 103 pixels down from term: # Generic open-a-window. term: # The -big option is tuned to my X setup on a 1280x1024 screen. term: # the top of the screen). term: #!/bin/sh -u termenv: # termenv: # Use TERM to pass environment information to remote command. termenv: #!/bin/sh termif: #!/bin/sh termpager: # termpager: #!/bin/sh test-utf8: # test-utf8: # test-utf8: # - Cameron Simpson 16may2007 test-utf8: # Handy test printf from Alain Bench test-utf8: # to test UTF-8 vs single byte rendering in a terminal. test-utf8: #!/bin/sh text: #!/bin/sh tf: # tf: # tf: # - Cameron Simpson 80jul2004 tf: # Kick off a "tail -f" of a logfile in a new window. tf: #!/bin/sh -u thread-add: # thread-add: # thread-add: # - Cameron Simpson 13jun2004 thread-add: # Add the message id of the mail item on stdin to a message-id file. thread-add: #!/bin/sh -u thread-update: # thread-update: # thread-update: # - Cameron Simpson 16apr2002 thread-update: # Check the message on stdin to see if it's tracked by a message-id file. thread-update: # Exit true if so, false if not. Add this message to the message-id file if thread-update: # so in order to track this message's descendants too. thread-update: #!/bin/sh timeinseconds: # timeinseconds: # timeinseconds: # Wrapper for time to print the user, system and real times in seconds timeinseconds: # to stderr (by default). - Cameron Simpson 23apr99 timeinseconds: #!/bin/sh timeout: # timeout: # timeout: # - Cameron Simpson timeout: # Run a command with a real-time timeout. timeout: #!/bin/sh -ue timer: # timer: # timer: # - Cameron Simpson 30jun2003 timer: # Time tracking. Track elapsed time to a set of tasks. timer: #!/bin/sh tk: # tk: # tk: # tk: # - Cameron Simpson 24mar97 tk: # Dummy for learning Tkperl. tk: #!/opt/bin/tkperl -w todo: #!/bin/sh -u total: # total: # total: # - Cameron Simpson 14apr98 total: # Add a total of an arbitrary column to a report. total: #!/bin/sh tplt: # tplt: # tplt: # - Cameron Simpson 08apr1997 tplt: # Emit a template for the named file on stdout. tplt: #!/bin/sh trackmailitem: # trackmailitem: # trackmailitem: # - Cameron Simpson 25jul2004 trackmailitem: # Take a mail message on stdin, file it in specific mail folders and trackmailitem: # note its message-id in a tracking file. trackmailitem: #!/bin/sh trimlog: #!/bin/sh trimout: #!/usr/bin/perl trn-mailposter: #!/bin/sh trn-newsposter: #!/bin/sh trusslog: # trusslog: # trusslog: # - Cameron Simpson 03jan2002 trusslog: # Run a truss of a process keeping the last set of output lines in a rolling logfile. trusslog: #!/bin/sh ttyexec: # ttyexec: # ttyexec: # - Cameron Simpson 03jan97 ttyexec: # Set up the terminal then run a command. ttyexec: #!/bin/sh ttylabel: # ttylabel: # ttylabel: # - Cameron Simpson ttylabel: # Set terminal's title and icon strings. ttylabel: #!/bin/sh ttylogtag: # ttylogtag: # ttylogtag: # - Cameron Simpson 05sep2000 ttylogtag: # A tag based on the tty for use in a filename such as a log. ttylogtag: #!/bin/sh ttysane: # - Cameron Simpson ttysane: #!/bin/sh ttysize: # ttysize: # ttysize: # - Cameron Simpson 15oct2000 ttysize: # Emit the terminal size in columns and rows. ttysize: #!/bin/sh tws: # tws: # tws: # - Cameron Simpson 23jul2000 tws: # Strip leading and trailing whitespace and turn [ \t]+ into tws: # Trim whitespace. tws: # a single space. tws: #!/bin/sh txturls: # txturls: # txturls: # - Cameron Simpson 24may2000 txturls: # Extract http: URLs from plain text. txturls: #!/bin/sed -nf typesummary: # typesummary: # - Cameron Simpson 25mar2003 typesummary: # typesummary: # Expects input from "find .... -print" or if stdin is a tty typesummary: # Report file types, counts and sizes. typesummary: # runs "find . -type f -print" to get the list. typesummary: #!/usr/bin/perl ufcchk: # ufcchk: # ufcchk: # Parse output from ufc and check against encryptions. ufcchk: #!/usr/bin/perl umcite2url: # umcite2url: # umcite2url: # - Cameron Simpson 10feb1999 umcite2url: # Take a URL-Minder citation and return the relevant page. umcite2url: #!/bin/sh uml1: #!/bin/sh un-at-: # un-at-: #!/usr/bin/perl unacs: #!/usr/bin/perl unb64: # unb64: # unb64: # - Cameron Simpson 21may1998 unb64: # Decode Base64 stuff and emit. unb64: #!/usr/bin/perl unb64bf: # unb64bf: # unb64bf: # - Cameron Simpson 27oct2002 unb64bf: # New spam is coming in base64 encoded, and bogofilter doesn't decode unb64bf: # before measuring keywords. This script makes a crude decode before unb64bf: # handing to bogofilter. unb64bf: #!/bin/sh unb64subj: # unb64subj: # unb64subj: # - Cameron Simpson 25jul2004 unb64subj: # Decode and leave raw stuff there too in case of mistake. unb64subj: # Some email comes in with base64 Subject: lines without the RFC2047 markings. unb64subj: #!/usr/bin/perl -p unbg: # unbg: # unbg: # - Cameron Simpson 06oct2000 unbg: # Add the current background to the list of backgrounds to suppress unbg: # and load a new one. unbg: #!/bin/sh unbs: # unbs: # unbs: # - Cameron Simpson unbs: # Remove nroff-style underlining and overstriking. unbs: # Works for other stuff, too. unbs: #!/bin/sed -f uncpp: # uncpp: #!/usr/bin/perl unctrl: # unctrl: # unctrl: # - Cameron Simpson unctrl: # Replace control characters with printable forms. unctrl: #!/usr/bin/perl -n uncurly: # uncurly: # uncurly: # uncurly: # - Cameron Simpson 27may2001 uncurly: # Deduce list by inspecting the input. - cameron 09sep2002 uncurly: # Replace {foo} with $foo in the specified file, for a specified uncurly: # list of "foo". uncurly: #!/bin/sh uncvs: # uncvs: # uncvs: # - Cameron Simpson 09apr97 uncvs: # Remove a file from CVS control. uncvs: #!/bin/sh undblspc: # undblspc: # undblspc: # - Cameron Simpson 26mar2000 undblspc: # Strip double spacing from text. undblspc: # Try to cope with mixtures and nondoublespaced text. undblspc: #!/usr/bin/perl undigest: # undigest: # - Cameron Simpson 02sep2003 undigest: # undigest: # Split up a digest and feed back to procmail. undigest: #!/bin/sh undupmail: # undupmail: # undupmail: # - Cameron Simpson 14jul99 undupmail: # If items have a message-id, fine. undupmail: # Items with neither do an MD5 checksum of the body. undupmail: # Items without message-ids we work on the References: line, so you undupmail: # Strip duplicates from a UNIX-format mail file. undupmail: # only get to keep one reply. undupmail: #!/usr/bin/perl unfontise: # unfontise: # unfontise: # unfontise: # - Cameron Simpson 01feb2002 unfontise: # -C - cameron 12jul2002 unfontise: # -c chregexp - cameron 26jun2002 unfontise: # Add ?B? support. - cameron, 16aug2005 unfontise: # Take a fontised string as appears in Subject: lines and attachment descriptions unfontise: # and convert it to raw form. See RFC2047. unfontise: #!/usr/bin/perl unfrom_: # unfrom_: # unfrom_: # - Cameron Simpson 13jul2002 unfrom_: # Transmute leading "From " line on email message, if any. unfrom_: #!/bin/sed -f unfukh: # unfukh: # unfukh: # unfukh: # - Cameron Simpson 27apr2005 unfukh: # Unfortunately, New File/Unlink Kills Hardlinks. unfukh: # Wrapper for vile programs that use the "make new file then rename onto old" unfukh: # and of course any other metadata file may have. unfukh: # form of edit, which breaks symlinks, hardlinks and permissions/ownership unfukh: #!/bin/sh -u unhdr: # unhdr: # unhdr: # - Cameron Simpson 17feb1995 unhdr: # Strip RFC822 headers from input. unhdr: #!/bin/sed -f unhexify: #!/usr/bin/perl -p unhtml: # unhtml: # unhtml: # - Cameron Simpson 17may2002 unhtml: # Mangle HTML to put URLs inline with the links for easy grabbing. unhtml: #!/bin/sh unixtime: # unixtime: # unixtime: # - Cameron Simpson unixtime: # Code by John Rosauer unixtime: # Widget to monitor UNIX time as Sun Sep 09 11:46:40 EST 2001 unixtime: # \ unixtime: # approaches (1000000000 epoch seconds). unixtime: #!/bin/sh unlink: # unlink: # unlink: # Usage: unlink [-v] [files...] unlink: #!/usr/bin/perl unlock: # unlock: # unlock: # - Cameron Simpson 13jul2000 unlock: # -f: remove the lock anyway. unlock: # Kill the process holding a lock. unlock: #!/bin/sh unlsdbm: # unlsdbm: #!/usr/bin/perl unmac: # unmac: # unmac: # - Cameron Simpson 06jul2005 unmac: # Convert Mac text data to UNIX (CR -> NL). unmac: #!/bin/sh unpack-archives: # unpack-archives: # unpack-archives: # - Cameron Simpson 09jul2002 unpack-archives: # If arguments supplied, run that command after unpacking. unpack-archives: # Subsidiary script to mailrepack, to unpack archive files present. unpack-archives: #!/bin/sh unpath: # unpath: # unpath: # - Cameron Simpson unpath: # Break up a colon separated path. unpath: #!/usr/bin/perl unpdf: # unpdf: # unpdf: # - Cameron Simpson 01jun2002 unpdf: # Wrapper for pdftohtml which makes a coarse attempt at paragraphing. unpdf: #!/bin/sh unportfwd: # unportfwd: # unportfwd: # - Cameron Simpson 06nov99 unportfwd: # Turn off the portfwd sshs. unportfwd: #!/bin/sh unprog: # unprog: # unprog: # - Cameron Simpson, 19oct92 unprog: # Massage archie responses into a more useful form. unprog: #!/usr/bin/perl unps: # unps: # unps: # - Cameron Simpson, 21nov92 unps: # Like strings(1) for PostScript. unps: #!/bin/sh unqp: # unqp: # unqp: # - Cameron Simpson 21may98 unqp: # Decode Quoted-Printable stuff and emit. unqp: #!/usr/bin/perl unshar: # unshar: #!/bin/sh unslosh: # unslosh: # unslosh: # - Cameron Simpson 16jan2007 unslosh: # Fold slosh-extended lines. unslosh: #!/bin/sed -f unsnap: # unsnap: #!/bin/sh untar: # untar: # untar: # - Cameron Simpson untar: # Run tar extract with tidier verbose mode. untar: #!//bin/sh -ue untilde: # untilde: # untilde: # - Cameron Simpson 21nov2001 untilde: # Replace ~ or ~user with a pathname. untilde: #!/usr/bin/perl unum: # unum: # unum: # - Cameron Simpson 28jan99 unum: # Take a URL-Minder Cancel URL and use it. unum: #!/bin/sh unz: # unz: # unz: # - Cameron Simpson 10apr99 unz: # Uncompress a file. I'm so lazy. unz: #!/bin/sh up: #!/bin/sh upd822ndx: # upd822ndx: # upd822ndx: # Update the 822ndx in a given directory. upd822ndx: #!/bin/sh update: # update: # update: # - Cameron Simpson 21may1997 update: # Update changes to current dir only. update: #!/bin/sh updcss: # updcss: # updcss: # - Cameron Simpson 09apr1997 updcss: # Install and publish css from my development copy. updcss: #!/bin/sh -ue updfiles: # updfiles: # updfiles: # - Cameron Simpson 17sep96 updfiles: # Accept chkfiles output on stdin, comm against snapshot and updfiles: # write cpio archive of changed files. updfiles: #!/bin/sh updgrubsplash: # updgrubsplash: # updgrubsplash: # updgrubsplash: # updgrubsplash: # updgrubsplash: # updgrubsplash: # updgrubsplash: # updgrubsplash: # =head1 DESCRIPTION updgrubsplash: # =head1 NAME updgrubsplash: # =head1 SYNOPSIS updgrubsplash: # I updates the grub(8) configuration with a new splash image. updgrubsplash: # Pick a fresh image and update the grub splash backdrop. updgrubsplash: # updgrubsplash - pick a fresh image and update the grub splash backdrop updgrubsplash: # updgrubsplash [-f conf] [-o splash-image] [pickim-args] updgrubsplash: #!/bin/sh -u updhtpasswd: #!/bin/sh updimdb: # updimdb: # updimdb: # - Cameron Simpson 13apr1999 updimdb: # Update an image db. updimdb: #!/usr/bin/perl updlinkforest: # updlinkforest: # updlinkforest: # basename symlink-target updlinkforest: # - Cameron Simpson 10apr2001 updlinkforest: # Input is lines of the form: updlinkforest: # Update a directory of symlinks. updlinkforest: #!/usr/bin/perl updlinklist: # updlinklist: # updlinklist: # updlinklist: # - Cameron Simpson 06nov2000 updlinklist: # - Cameron Simpson 25sep2000 updlinklist: # (on the premise that the input is much smaller than the state). updlinklist: # Emit new URLs and titles on stdout. updlinklist: # Probably cheaper CPUwise, too. updlinklist: # Read URLs and titles from stdin and update a state file. updlinklist: # Recode to use MUCH less memory and a temporary file updlinklist: #!/usr/bin/perl updlistsave: # updlistsave: # updlistsave: # - Cameron Simpson 17dec97 updlistsave: # Run output through sh to update files. updlistsave: # Stand in ~listsave. updlistsave: #!/bin/sh updmd5index: # updmd5index: # updmd5index: # - Cameron Simpson 04dec98 updmd5index: # Update the .md5index file with newer files. updmd5index: #!/bin/sh updrawmailrc: # updrawmailrc: # updrawmailrc: # - Cameron Simpson 22may98 updrawmailrc: # Update mailrc.rawdb. updrawmailrc: #!/opt/bin/perl updsshkeys: # updsshkeys: # updsshkeys: # - Cameron Simpson 25jun2003 updsshkeys: # Gather ssh host keys using ssh-keyscan(1) and incorporate into system tables. updsshkeys: #!/bin/sh -u updvmindex: # updvmindex: # updvmindex: # - Cameron Simpson updvmindex: # Update index file for a folder. updvmindex: #!/usr/bin/perl updzip: # updzip: # updzip: # - Cameron Simpson 11nov97 updzip: # Update my web pages. updzip: #!/bin/sh uring: # uring: # uring: # - Cameron Simpson 26jun98 uring: # Ring my URL bookmarks. uring: #!/bin/sh urlcachename: #!/bin/sh urlmap2js: # urlmap2js: # urlmap2js: # - Cameron Simpson 07aug98 urlmap2js: # Read a db holding the remapping shExprs and emit equivalent JavaScript. urlmap2js: #!/usr/bin/perl urlmind: # urlmind: # urlmind: # - Cameron Simpson 12sep95 urlmind: # . urlmind: # urlmind: # Register a page with the URL Minder urlmind: #!/bin/sh urls2html: #!/bin/sh urls: # urls: # urls: # - Cameron Simpson 24aug2000 urls: # Extract URLs from HTML on stdin. urls: #!/usr/bin/perl urlshow-mozilla: # urlshow-mozilla: # urlshow-mozilla: # - Cameron Simpson 25jun2006 urlshow-mozilla: # urlshow for mozilla, URLs on stdin, no smarts. urlshow-mozilla: #!/bin/sh -u urlshow-opera: # urlshow-opera: # urlshow-opera: # - Cameron Simpson 25jun2006 urlshow-opera: # urlshow for opera, URLs on stdin, no smarts. urlshow-opera: #!/bin/sh -u urlshow: # urlshow: # urlshow: # - Cameron Simpson urlshow: # urlshow: # Added netscape -remote support. cameron, 05may1995 urlshow: # Display URLs with a browser. urlshow: # Jamie Zawinski's netscape-remote.c used instead. - cameron, 16mar1999 urlshow: # Netscape takes multiple -remote()s! cameron, 10nov1997 urlshow: # Removed mosaic support. cameron, 10nov1997 urlshow: # Switch to mozilla-xremote-client. cameron 26aug2002 urlshow: # support some meta prefixes. cameron 28mar2000 urlshow: #!/bin/sh -u us: # us: # us: # us: # - Cameron Simpson us: # Autostart browser and show URLs. Backgrounds so the user can get on us: # Catch "us -" and squirrel away stdin. - cameron 25jun2001 us: # Shortcuts and foo.bar -> http://foo.bar/ - cameron 09aug2002 us: # with things. us: #!/bin/sh usc: # "Clean" URLshow. - Cameron Simpson 07may2001 usc: #!/bin/sh useraliases: # useraliases: # useraliases: # - Cameron Simpson useraliases: # List the aliases containing the supplied username. useraliases: #!/bin/sh -ue uud: #!/bin/sh uudecode: # uudecode: # uudecode: # uumerge - merge multiple uuencoded split files uudecode: #!/usr/bin/perl uue: #!/bin/sh uuencode: #!/usr/bin/perl uuid-idset: # uuid-idset: # uuid-idset: # - Cameron Simpson uuid-idset: # An idset based on UUIDs. Initially to decide mount options for uuid-idset: # removable media. uuid-idset: #!/bin/sh -u v: #!/bin/sh vcard2txt: # vcard2txt: # vcard2txt: # - Cameron Simpson 14apr2001 vcard2txt: # Read a vcard from stdin, write it out prettily. vcard2txt: #!/bin/sh vcs-commit-editor: # vcs-commit-editor: # vcs-commit-editor: # - Cameron Simpson 09mar2002 vcs-commit-editor: # Wrapper for $EDITOR for vcs commits to append the changes for inquisition vcs-commit-editor: # while composing the change report. vcs-commit-editor: #!/bin/sh -ue vcs: # vcs: # vcs: # - Cameron Simpson 25apr2007 vcs: # Do simple things with revision controlled source. vcs: #!/bin/sh -ue vdoc: # vdoc: # vdoc: # - Cameron Simpson 26mar2000 vdoc: # View an M$ Word document. No idea why people imagine this is a useful vdoc: # format to send text around in, but there you go. vdoc: #!/bin/sh vgrep: # vgrep: # vgrep: # Visual grep. vgrep: #!/usr/bin/perl view-unknown: # view-unknown: # view-unknown: # - Cameron Simpson 24jul2002 view-unknown: # "copiousoutput' entries). view-unknown: # Generic handler for untyped data to be displayed inline (as for mailcap view-unknown: #!/bin/sh -u vm: # vm: # vm: # - Cameron Simpson vm: # Enter my mail folder and run vi as a user agent. vm: #!/bin/sh vma: # vma: # vma: # - Cameron Simpson 19jan99 vma: # "vm all" - shortcut to my mixed inbox. vma: #!/bin/sh vmfind: # vmfind: # vmfind: # - Cameron Simpson, 20nov93 vmfind: # Blow away the folder afterwards. vmfind: # Locate the references patterns and make a folder for vm. vmfind: #!/usr/bin/perl vmfw: # vmfw: # vmfw: # itemnum author topic vmfw: # - Cameron Simpson vmfw: # Expects to be called from inside vm with input of the form vmfw: #!/bin/sh vmsq: #!/bin/sh vmsquash: # vmsquash: # vmsquash: # vmsquash: # - Cameron Simpson 18oct94 vmsquash: # - Cameron Simpson, 17feb94 vmsquash: # -t Order by Date: (or mtime failing that) and drop duplicate msgids. vmsquash: # Renumber items in mail directory to be consecutive from 1. vmsquash: #!/usr/bin/perl vmstat-log2csv: # vmstat-log2csv: # vmstat-log2csv: # - Cameron Simpson 21nov2008 vmstat-log2csv: # Read a data file produced by vmstat-log and write a CSV file. vmstat-log2csv: #!/bin/sh -ue vmstat-log2rrd: # vmstat-log2rrd: # vmstat-log2rrd: # - Cameron Simpson 21nov2008 vmstat-log2rrd: # Read a data file produced by vmstat-log and load it into an RRDtool file. vmstat-log2rrd: #!/bin/sh -ue vmstat-log: # vmstat-log: # vmstat-log: # - Cameron Simpson 29may2008 vmstat-log: # Run vmstat with date(1) output interleaved. vmstat-log: #!/bin/sh -ue vmt: # vmt: # vmt: # - Cameron Simpson 20jan99 vmt: # Shortcut to threaded mailbox. vmt: #!/bin/sh vmt: #exec term -n "mutt +attn" -e mutt -f "$MAILDIR/attn" vmw: # vmw: # vmw: # Quick vmware fire up. - Cameron Simpson 29nov2002 vmw: #!/bin/sh vnc: # vnc: # vnc: # vnc: # - Cameron Simpson 26jul1999 vnc: # - Cameron Simpson 03nov2006 vnc: # Recode to act more like the "scr" script. vnc: # Wrapper for the vnc programs. vnc: #!/bin/sh vpc: # vpc: # vpc: # - Cameron Simpson 04dec2000 vpc: # View a PC desktop with VNC. vpc: #!/bin/sh vpic: #!/bin/sh vpnendpoint: # vpnendpoint: # vpnendpoint: # - Cameron Simpson 07oct1999 vpnendpoint: # Dummy script to run at remote end of ssh used for port forwarding. vpnendpoint: # See the portfwd script for use. vpnendpoint: # Tails my console file (which is handy for watching the remote host) vpnendpoint: # and copy input to the log (keeps link alive, detects link down). vpnendpoint: # one day I'll make these tunable vpnendpoint: #!/bin/sh vptx: # vptx: # vptx: # fname word lineno offset vptx: # Read text files and emit index information of the form vptx: #!/usr/bin/perl vq: #!/bin/sh vsftp-server: # vsftp-server: # vsftp-server: # vsftp-server: # - Cameron Simpson 31mar2005 vsftp-server: # users,... vhost-ip /directory vsftp-server: # vsftp-server: # A placeholder to apply virtual server based context to sftp connections, vsftp-server: # Config file format: vsftp-server: # Install: Move real /usr/libexec/openssh/sftp-server to sftp-server.real vsftp-server: # The first matching line applies. The special user "*" matches any user. vsftp-server: # and symlink this in. vsftp-server: # based on server IP address. vsftp-server: # providing distinct initial working directories for sftp operations vsftp-server: #!/bin/sh vtroff: #!/bin/sh vvnc: # vvnc: # vvnc: # - Cameron Simpson 05dec2001 vvnc: # Basicly a hack to do backing store. vvnc: # Run a VNC showing another VNC. vvnc: #!/bin/sh w3: #!/bin/sh w3history2html: # w3history2html: # w3history2html: # - Cameron Simpson, cs@zip.com.au, 10jun94 w3history2html: # Read global history file from stdin and emit HTML equivalent. w3history2html: #!/usr/bin/perl wait4stdin: # wait4stdin: # wait4stdin: # - Cameron Simpson 25sep2000 wait4stdin: # Gather up all of stdin and then run command. wait4stdin: # Useful for delaying the commencement of an especially expensive wait4stdin: # command (eg resource hungry or holds a lock for an excessive time) wait4stdin: # of for this script, but then that was what I needed.) wait4stdin: # until its input is ready. (In fact, that's the only use I can think wait4stdin: #!/bin/sh waitpid: # waitpid: # waitpid: # - Cameron Simpson 26sep2000 waitpid: # Needs kill privilege on the processes. waitpid: # Wait for a set of process ids to die. waitpid: #!/bin/sh watchcmd: # watchcmd: # watchcmd: # - Cameron Simpson 15aug2000 watchcmd: # Repeatedly run a command and pipe through vdis. watchcmd: #!/bin/sh watchlinkpages: # watchlinkpages: # watchlinkpages: # - Cameron Simpson 29jul2000 watchlinkpages: # Watch a set of link post pages (eg freshmeat) and report new links. watchlinkpages: #!/bin/sh watchnetstat: # watchnetstat: # watchnetstat: # - Cameron Simpson 30aug99 watchnetstat: # Monitor netstat for ESTABLISHED connections and sort on oldest. watchnetstat: #!/usr/bin/perl watchweblogs: # watchweblogs: # watchweblogs: # - Cameron Simpson 29jul2000 watchweblogs: # Watch a set of weblogs and report new links. watchweblogs: #!/bin/sh watchweblogsets: # watchweblogsets: # watchweblogsets: # - Cameron Simpson 31jul2000 watchweblogsets: # Monitor web logs as specified in the dirs on the input. watchweblogsets: #!/bin/sh watchxscreensaver: # watchxscreensaver: # watchxscreensaver: # - Cameron Simpson 28jul2003 watchxscreensaver: # xscreensaver-command -watch watchxscreensaver: # Expect the output of watchxscreensaver: # on stdin and log job activity accordingly. watchxscreensaver: #!/bin/sh wcat: #!/bin/sh web822: # web822: # web822: # - Cameron Simpson web822: # Read RFC822 message from stdin and emit it in HTML form. web822: #!/usr/bin/perl webnews: # webnews: #!/usr/bin/perl webster: # webster: # webster: # Access a webster server. - Cameron Simpson, cs@zip.com.au webster: #!/usr/bin/perl whereis: # whereis: # whereis: # Look up whereis.com.au. - Cameron Simpson 29oct2004 whereis: #!/bin/sh win: # win: # win: # - Cameron Simpson 10aug2004 win: # Pop up window list of selected windows, or do things with them. win: #!/bin/sh winclause: # winclause: # winclause: # - Cameron Simpson 14jul2001 winclause: # Grab a clause from a Windows-style .ini file, or edit it. winclause: #!/bin/sh winclauseappend: # winclauseappend: # winclauseappend: # - Cameron Simpson 13jul2004 winclauseappend: # Append lines to a particular clause in a windows style .ini file. winclauseappend: #!/bin/sh winclausevars: # winclausevars: # winclausevars: # - Cameron Simpson 08oct2003 winclausevars: # Read windows .ini file clause, emit values as safe shell assignments. winclausevars: #!/bin/sh windowidset: # windowidset: # windowidset: # - Cameron Simpson 18jul2002 windowidset: # Manage details for window ids in a desktop. windowidset: #!/bin/sh -u winjob: # winjob: # winjob: # - Cameron Simpson 03nov2004 winjob: # Set the job id for the current window. winjob: # The run command if supplied. winjob: #!/bin/sh -u winpull: #!/bin/sh winsnap: # winsnap: # winsnap: # - Cameron Simpson winsnap: # Saves window in $HOME/var/xwd and puts the pathname into the X cut buffer winsnap: # Wrapper for xwd to produce common data formats. winsnap: # and on stdout. winsnap: #!/bin/sh winsync: # winsync: # winsync: # - Cameron Simpson winsync: # Rsync adapted to MS Windows FAT filesystems, which have only 2-second winsync: # time resultion. winsync: #!/bin/sh wiring: # wiring: # wiring: # - Cameron Simpson 14jul98 wiring: # Run ring on the wiring data. wiring: #!/bin/sh with-colour: # with-colour: # with-colour: # - Cameron Simpson 08jul2007 with-colour: # Perform command with output in particular colour. with-colour: #!/bin/sh -ue with-flickr: # with-flickr: # with-flickr: # - Cameron Simpson 18dec2007 with-flickr: # Flickr tool. with-flickr: #!/usr/bin/python -tt with-login-env: # with-login-env: # with-login-env: # - Cameron Simpson 23dec2008 with-login-env: # Based on discussions with Martin Costabel, Peter O'Gorman and with-login-env: # Harald Hanche-Olsen. with-login-env: # Run an arbitrary command with user user's login environment. with-login-env: # Uses bash instead of sh for "printf %q" and "exec -l". with-login-env: #!/bin/bash -ue withSOURCE_DISPLAY: # - Cameron Simpson 22mar2001 withSOURCE_DISPLAY: #!/bin/sh withco: # withco: # withco: # command path-to-checkout [args...] withco: # withco module incd command args... withco: # or inco -f module/file command args... withco: # or inco module command args... withco: # or withco -f module/file incd command args... withco: # - Cameron Simpson 04jul2003 withco: # Make a scratch checkout, run a command, throw the checkout away. withco: # Runs: withco: # so typically you'd go withco: # to run command _in_ the checkout. withco: #!/bin/sh -u withcopy: # withcopy: # withcopy: # - Cameron Simpson 31mar2006 withcopy: # Copy the supplied file, run command with copy. withcopy: #!/bin/sh -u withjob: # withjob: # withjob: # - Cameron Simpson 02jul2003 withjob: # Perform a task and attribute its time to a job. withjob: # Return to the old job on exit if we haven't already switched. withjob: #!/bin/sh withpageurls: # withpageurls: # withpageurls: # - Cameron Simpson 14mar2005 withpageurls: # For each URL in the page, fetch it to a temporary file withpageurls: # and run the supplied command with the temp file name. withpageurls: #!/bin/sh withpgppass: # withpgppass: # withpgppass: # - Cameron Simpson 03may2002 withpgppass: # Run a command with $PGPPASS set (typically "ring -p" which does multiple pgp invocations). withpgppass: #!/bin/sh withstdin: # withstdin: # withstdin: # - Cameron Simpson 14jul2004 withstdin: # Copy stdin to a temp file, then pass as arg to a command expecting a filename. withstdin: #!/bin/sh withtape: # withtape: # withtape: # - Cameron Simpson 01aug2005 withtape: # Load a tape from the specified jukebox slot, run a command, return the tape withtape: # to its slot. withtape: #!/bin/sh -u withurl: # withurl: # withurl: # - Cameron Simpson 12feb2003 withurl: # Fetch URL into file then run command with filename. withurl: #!/bin/sh -u withxclip: #!/bin/sh wm: #!/bin/sh wmap: # wmap: # wmap: # - Cameron Simpson wmap: # Fetch and optionally display a weather map. wmap: #!/bin/sh -u wordindex: # wordindex: # wordindex: # - Cameron Simpson 22apr2002 wordindex: # Manipulate a keyword index of a bunch of text files. wordindex: #!/usr/bin/perl -w writetape: # writetape: # writetape: # - Cameron Simpson writetape: # Write a data file to a tape, archive its table of contents. writetape: #!/bin/sh -ue x@: # x@: # x@: # - Cameron Simpson 13jul2002 x@: # Use this machine as an X terminal, and ssh to somewhere else for all x@: # the clients. x@: #!/bin/sh xauth_key: #!/usr/bin/perl xh: #!/bin/sh xinfo-extensions: # xinfo-extensions: # - Cameron Simpson 07jun2006 xinfo-extensions: # xinfo-extensions: # Report the X11 extensions on the current display. xinfo-extensions: #!/bin/sh -u xinfo: # xinfo: # xinfo: # - Cameron Simpson xinfo: # Emit xdpyinfo output in handy shell sourceable form. xinfo: #!/usr/bin/perl xl: # xl: # xl: # Wrapper for xload. xl: #!/usr/bin/perl xlocal: # xlocal: # xlocal: # - Cameron Simpson xlocal: # Strip local versions of $DISPLAY down to :n. xlocal: #!/bin/sh xls: # xls: # xls: # - Cameron Simpson xls: # List windows with names. xls: #!/bin/sh xpm2rxvt: # xpm2rxvt: # xpm2rxvt: # - Cameron Simpson 20nov2000 xpm2rxvt: # Set the background of an rxvt from an XPM or PNG file. xpm2rxvt: #!/bin/sh xptr123: #!/bin/sh xptr132: #!/bin/sh xq: # xq: # xq: # - Cameron Simpson xq: # Query or hack the live X resource db. xq: #!/bin/sh xrdb_load: #!/bin/sh xrefmailitem: # xrefmailitem: # xrefmailitem: # - Cameron Simpson 24may2002 xrefmailitem: # Crossfile mail item based on addresses. xrefmailitem: #!/bin/sh xrefmhdir: #!/bin/sh xresmatch: # xresmatch: #!/usr/bin/perl xt24: #!/bin/sh xtdemo: #!/bin/sh xth: #!/bin/sh xtn24: #!/bin/sh xtn: #!/bin/sh xv24: #!/bin/sh xvbw: # xvbw: # xvbw: # xv for black and white displays xvbw: #!/bin/sh xvcol: # xvcol: # xvcol: # xv for colour displays xvcol: #!/bin/sh xvshow: # xvshow: #!/bin/sh xvslide: #!/bin/sh xvurl: # xvurl: # xvurl: # - Cameron Simpson 12jun2001 xvurl: # Spurred into implementation by the Liberty Meadows comics strip, xvurl: # View a URL. Fetch and hand to something other than my web browser. xvurl: # which is funny but too small, so XV to the rescue! xvurl: #!/bin/sh xwdtops: # xwdtops: # xwdtops: # X window -> PostScript. xwdtops: #!/bin/sh xwin-transset: # xwin-transset: # xwin-transset: # - Cameron Simpson xwin-transset: # Run transset on a window. xwin-transset: #!/bin/sh -u xxargs: # xxargs: # xxargs: # - Cameron Simpson 20dec2001 xxargs: # Having pretty much had it with xargs, which is a busted piece of crap due xxargs: # one. xxargs: # to its quoting/whitepsace problems, here is a less featured but more robust xxargs: #!/usr/bin/perl ypm: #!/bin/sh ytr: #!/bin/sh yum-missing: # yum-missing: # yum-missing: # - Cameron Simpson 14jun2005 yum-missing: # List uninstalled stuff by diffing "yum list available" against rpm. yum-missing: #!/bin/sh -u yumupd: #!/bin/sh z: # z: # z: # z: # - Cameron Simpson 11mar1999 z: # Gzip by default because bzip2 uses much CPU. - cameron 03jul2000 z: # Handle directories. - cameron 27jun2000 z: # Partner for t, v and x. z: #!/bin/sh zipfs: # zipfs: # zipfs: # - Cameron Simpson 22oct96 zipfs: # Set up a SCSI Zip medium in a Solaris box. zipfs: #!/bin/sh {: # {: # {: # {: # - Cameron Simpson 14sep2007 {: # TODO: && vs || vs ; precedence {: # {...} meta command for nesting quoted stuff. {: #!/usr/bin/python -tt