Scripts: Fix xzgrep -l.
authorLasse Collin <lasse.collin@tukaani.org>
Wed, 23 Mar 2011 23:21:32 +0000 (01:21 +0200)
committerLasse Collin <lasse.collin@tukaani.org>
Wed, 23 Mar 2011 23:21:32 +0000 (01:21 +0200)
It didn't work at all. It tried to use the -q option
for grep, but it appended it after "--". This works
around it by redirecting to /dev/null. The downside
is that this can be slower with big files compared
to proper use of "grep -q".

Thanks to Gregory Margo.

src/scripts/xzgrep.in

index 84df94b..7ab617b 100644 (file)
@@ -157,9 +157,9 @@ for i; do
     exec 5>&1
     ($uncompress -- "$i" 5>&-; echo $? >&5) 3>&- |
     if test $files_with_matches -eq 1; then
-      eval "$grep" -q && { printf '%s\n' "$i" || exit 2; }
+      eval "$grep" >/dev/null && { printf '%s\n' "$i" || exit 2; }
     elif test $files_without_matches -eq 1; then
-      eval "$grep" -q || {
+      eval "$grep" >/dev/null || {
         r=$?
         if test $r -eq 1; then
           printf '%s\n' "$i" || r=2