mirror of
https://git.tukaani.org/xz.git
synced 2024-04-04 12:36:23 +02:00
xzgrep: exit 0 when at least one file matches.
Mimic the original grep behavior and return exit_success when at least one xz compressed file matches given pattern. Original bugreport: https://bugzilla.redhat.com/show_bug.cgi?id=1108085 Thanks to Pavel Raiskup for the patch.
This commit is contained in:
parent
8c19216bac
commit
ceca379017
1 changed files with 13 additions and 2 deletions
|
@ -147,7 +147,9 @@ if test $# -eq 0; then
|
|||
fi
|
||||
|
||||
exec 3>&1
|
||||
res=0
|
||||
|
||||
# res=1 means that no file matched yet
|
||||
res=1
|
||||
|
||||
for i; do
|
||||
case $i in
|
||||
|
@ -195,8 +197,17 @@ for i; do
|
|||
fi >&3 5>&-
|
||||
)
|
||||
r=$?
|
||||
|
||||
# fail occured previously, nothing worse can happen
|
||||
test $res -gt 1 && continue
|
||||
|
||||
test "$xz_status" -eq 0 || test "$xz_status" -eq 2 \
|
||||
|| test "$(kill -l "$xz_status" 2> /dev/null)" = "PIPE" || r=2
|
||||
test $res -lt $r && res=$r
|
||||
|
||||
# still no match
|
||||
test $r -eq 1 && continue
|
||||
|
||||
# 0 == match, >=2 == fail
|
||||
res=$r
|
||||
done
|
||||
exit $res
|
||||
|
|
Loading…
Reference in a new issue