25 lines
621 B
Diff
25 lines
621 B
Diff
Index: zgrep.in
|
|
===================================================================
|
|
--- zgrep.in.orig
|
|
+++ zgrep.in
|
|
@@ -211,10 +211,18 @@ res=1
|
|
|
|
for i
|
|
do
|
|
+ case "$i" in
|
|
+ *.bz2)
|
|
+ uncompress=bzip2
|
|
+ ;;
|
|
+ *)
|
|
+ uncompress=gzip
|
|
+ ;;
|
|
+ esac
|
|
# Fail if gzip or grep (or sed) fails.
|
|
gzip_status=$(
|
|
exec 5>&1
|
|
- ('gzip' -cdfq -- "$i" 5>&-; echo $? >&5) 3>&- |
|
|
+ ($uncompress -cdfq -- "$i" 5>&-; echo $? >&5) 3>&- |
|
|
if test $files_with_matches -eq 1; then
|
|
eval "$grep$args" >/dev/null && { printf '%s\n' "$i" || exit 2; }
|
|
elif test $files_without_matches -eq 1; then
|