#!/bin/sh ZZ=${ZZ:-$HOME/.zz} usage() { exec cat<>$ZZ else cat >$ZZ fi fi test -z "$1" && exec ${EDITOR:-vi} $ZZ case "X$*" in X-h) usage;; X-r) exec mv $ZZ~ $ZZ;; esac OUT="$1" test "X$OUT" = X- && shift test -z "$1" && exec cat $ZZ mv $ZZ $ZZ~ case `type "$1" 2>&1` in *not\ found) perl -pe "$@" <$ZZ~>$ZZ || mv $ZZ~ $ZZ;; *) "$@" <$ZZ~>$ZZ || mv $ZZ~ $ZZ;; esac test "X$OUT" = X- && exec cat $ZZ