aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2011-03-24 01:42:49 +0200
committerLasse Collin <lasse.collin@tukaani.org>2011-03-24 01:42:49 +0200
commit40277998cb9bad564ce4827aff152e6e1c904dfa (patch)
tree755742313b89f3c752b64fe5d6531632e79b5ba9
parentUpdated THANKS. (diff)
downloadxz-40277998cb9bad564ce4827aff152e6e1c904dfa.tar.xz
Scripts: Better fix for xzgrep.
Now it uses "grep -q". Thanks to Gregory Margo.
-rw-r--r--src/scripts/xzgrep.in8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/scripts/xzgrep.in b/src/scripts/xzgrep.in
index 7ab617b9..00242377 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
@@ -157,9 +161,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