--- zgrep.in.orig 2002-09-27 22:53:14.000000000 -0700 +++ zgrep.in 2005-10-11 16:53:55.000000000 -0700 @@ -24,7 +24,7 @@ PATH="BINDIR:$PATH"; export PATH -prog=`echo $0 | sed 's|.*/||'` +prog=`echo "$0" | sed 's|.*/||'` case "$prog" in *egrep) grep=${EGREP-egrep} ;; *fgrep) grep=${FGREP-fgrep} ;; @@ -95,12 +95,15 @@ for i do gzip -cdfq "$i" | if test $files_with_matches -eq 1; then - $grep $opt "$pat" > /dev/null && echo $i + $grep $opt "$pat" > /dev/null && printf "%s\n" "$i" elif test $files_without_matches -eq 1; then - $grep $opt "$pat" > /dev/null || echo $i + $grep $opt "$pat" > /dev/null || printf "%s\n" "$i" elif test $with_filename -eq 0 && { test $# -eq 1 || test $no_filename -eq 1; }; then $grep $opt "$pat" else + i=${i//\\/\\\\} + i=${i//|/\\|} + i=${i//&/\\&} if test $with_filename -eq 1; then sed_script="s|^[^:]*:|${i}:|" else