From 8b0be38a795fa1cdffdada64341a34209e630060 Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Mon, 18 Jul 2022 21:10:25 +0300 Subject: [PATCH] xzgrep: Use -e to specify the pattern to grep. Now we don't need the separate test for adding the -q option as it can be added directly in the two places where it's needed. --- src/scripts/xzgrep.in | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/scripts/xzgrep.in b/src/scripts/xzgrep.in index 2cb9420c..559dbbc5 100644 --- a/src/scripts/xzgrep.in +++ b/src/scripts/xzgrep.in @@ -146,18 +146,14 @@ 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 case ${1?"Missing pattern; try \`${0##*/} --help' for help"} in (*\'*) - grep="$grep -- '"$(printf '%sX\n' "$1" | LC_ALL=C sed "$escape");; + grep="$grep -e '"$(printf '%sX\n' "$1" | LC_ALL=C sed "$escape");; (*) - grep="$grep -- '$1'";; + grep="$grep -e '$1'";; esac shift fi @@ -184,9 +180,9 @@ for i; do exec 5>&1 ($uncompress -- "$i" 5>&-; echo $? >&5) 3>&- | if test $files_with_matches -eq 1; then - eval "$grep" && { printf '%s\n' "$i" || exit 2; } + eval "$grep -q" && { printf '%s\n' "$i" || exit 2; } elif test $files_without_matches -eq 1; then - eval "$grep" || { + eval "$grep -q" || { r=$? if test $r -eq 1; then printf '%s\n' "$i" || r=2