aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2022-07-18 21:10:25 +0300
committerLasse Collin <lasse.collin@tukaani.org>2022-07-24 11:38:19 +0300
commit8b0be38a795fa1cdffdada64341a34209e630060 (patch)
treed6920da135da3654606b595933b4aef0ee09ccda
parentScripts: Use printf instead of echo in a few places. (diff)
downloadxz-8b0be38a795fa1cdffdada64341a34209e630060.tar.xz
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.
-rw-r--r--src/scripts/xzgrep.in12
1 files 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