diff options
author | Lasse Collin <lasse.collin@tukaani.org> | 2011-03-24 01:42:49 +0200 |
---|---|---|
committer | Lasse Collin <lasse.collin@tukaani.org> | 2011-03-24 01:43:23 +0200 |
commit | df87249b26e79a75fd91041e85512944fc247b57 (patch) | |
tree | 7fc671bfdba93255e9ccbb06067fc04909eb37ba | |
parent | Updated THANKS. (diff) | |
download | xz-df87249b26e79a75fd91041e85512944fc247b57.tar.xz |
Scripts: Better fix for xzgrep.
Now it uses "grep -q".
Thanks to Gregory Margo.
-rw-r--r-- | src/scripts/xzgrep.in | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/scripts/xzgrep.in b/src/scripts/xzgrep.in index 18f780a9..a8b8117a 100644 --- a/src/scripts/xzgrep.in +++ b/src/scripts/xzgrep.in @@ -126,6 +126,10 @@ while test $# -ne 0; do grep="$grep $option$optarg" done +if test $files_with_matches -eq 1 || test $files_without_matches -eq 1; then + grep="$grep -q" +fi + eval "set -- $operands "'${1+"$@"}' if test $have_pat -eq 0; then @@ -156,9 +160,9 @@ for i; do exec 5>&1 ($uncompress -- "$i" 5>&-; echo $? >&5) 3>&- | if test $files_with_matches -eq 1; then - eval "$grep" >/dev/null && { printf '%s\n' "$i" || exit 2; } + eval "$grep" && { printf '%s\n' "$i" || exit 2; } elif test $files_without_matches -eq 1; then - eval "$grep" >/dev/null || { + eval "$grep" || { r=$? if test $r -eq 1; then printf '%s\n' "$i" || r=2 |