diff options
Diffstat (limited to 'xml/grepm')
-rw-r--r-- | xml/grepm | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/xml/grepm b/xml/grepm new file mode 100644 index 0000000..cf5472a --- /dev/null +++ b/xml/grepm @@ -0,0 +1,65 @@ +#!/bin/sh + +# grepm - a wrapper for grepmail utilizing mutt + +# Copyright (C) 1998-1999 Moritz Barsnick <barsnick (at) gmx (dot) net> +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# version 2 as published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# grepm-0.6 +# +# written 1998-11-xx by Moritz Barsnick <barsnick (at) gmx (dot) net> +# updated 1998-12-22: added "-m" option for grepmail +# added "exit 1" to trap +# updated 1999-01-04: added check for empty "mailbox" (don't open mutt) +# added messages +# added umask (to keep others from reading your messages) +# updated 1999-01-19: added trap for SIGPIPE (any other suggestions?) +# updated 1999-07-05: added $TMPDIR; we're still subject to races ($TMPFILE +# might exist) +# updated 1999-11-29: have mutt open the temporary mailbox read-only - +# there's no use in editing it anyway + + +PROGNAME=`basename "$0"` +TMPDIR=${TMPDIR-/tmp} + +umask 077 + +if [ $# -lt 1 ]; then + echo 1>&2 "Usage: ${PROGNAME} arguments" + exit 1 +fi + +TMPFILE="${TMPDIR}/grepmail-output.$$" + +# I _would_ check this with "-e", but not all /bin/sh's understand it +# so this is just a kludge + +if [ -f ${TMPFILE} -o -d ${TMPFILE} -o -w ${TMPFILE} ]; then + echo 1>&2 "Temporary file ${TMPFILE} exists for some reason! Aborting." + exit 1 +fi + +trap "rm -f ${TMPFILE}; exit 1" 1 2 3 13 15 + +grepmail -m "$@" > "${TMPFILE}" +if [ `wc -c "${TMPFILE}" | awk '{print $1}'` -gt 0 ]; then + echo 1>&2 "Calling mutt on results file (${TMPFILE})." + mutt -R -f "${TMPFILE}" +else + echo 1>&2 "No matches." +fi + +rm -f "${TMPFILE}" && echo 1>&2 "Deleted results file (${TMPFILE})." |