ACC SHELL
Path : /usr/bin/ |
|
Current File : //usr/bin/mgrep |
#!/bin/sh
# mgrep -- a wrapper around a grep program that decode MIMEd data
# as needed (some code taken from zgrep of gzip)
PATH="/usr/bin:$PATH"; export PATH
prog=${0##*/}
case "$prog" in
*egrep) grep=${EGREP-egrep -a} ;;
*fgrep) grep=${FGREP-egrep -a} ;;
*) grep=${GREP-grep -a} ;;
esac
pat=""
while test $# -ne 0; do
case "$1" in
-e|-f)
opt="$opt $1"
shift
pat="$1"
if test "$grep" = grep; then
grep=egrep
fi
;;
-*)
opt="$opt $1"
;;
*)
if test -z "$pat"; then
pat="$1"
else
break;
fi
;;
esac
shift
done
if test -z "$pat"; then
echo "$prog: grep through mimencoded files" 1>&2
echo "usage: $prog [grep_options] pattern [files]" 1>&2
exit 1
fi
list=0
silent=0
case "${opt//[ -]/}" in
*l*) list=1
esac
case "${opt//[ -]/}" in
*h*) silent=1
esac
mimedecode ()
{
mimencode -u -b $1 2> /dev/null
echo
}
if test $# -eq 0; then
mimedecode | $grep $opt "$pat"
exit $?
fi
res=0
for i do
if test $list -eq 1; then
mimedecode $i | $grep $opt "$pat" > /dev/null && echo $i
r=$?
elif test $# -eq 1 -o $silent -eq 1; then
mimedecode $i | $grep $opt "$pat"
r=$?
else
mimedecode $i | $grep $opt "$pat" | sed "s|^|${i}:|"
r=$?
fi
test "$r" -ne 0 && res="$r"
done
exit $res
ACC SHELL 2018