Current Dir: /snap/core18/2999/bin/
[FILE] bash [ edit | delete | rename ]
[FILE] bunzip2 [ edit | delete | rename ]
[FILE] bzcat [ edit | delete | rename ]
[FILE] bzcmp [ edit | delete | rename ]
[FILE] bzdiff [ edit | delete | rename ]
[FILE] bzegrep [ edit | delete | rename ]
[FILE] bzexe [ edit | delete | rename ]
[FILE] bzfgrep [ edit | delete | rename ]
[FILE] bzgrep [ edit | delete | rename ]
[FILE] bzip2 [ edit | delete | rename ]
[FILE] bzip2recover [ edit | delete | rename ]
[FILE] bzless [ edit | delete | rename ]
[FILE] bzmore [ edit | delete | rename ]
[FILE] cat [ edit | delete | rename ]
[FILE] chgrp [ edit | delete | rename ]
[FILE] chmod [ edit | delete | rename ]
[FILE] chown [ edit | delete | rename ]
[FILE] cp [ edit | delete | rename ]
[FILE] dash [ edit | delete | rename ]
[FILE] date [ edit | delete | rename ]
[FILE] dd [ edit | delete | rename ]
[FILE] df [ edit | delete | rename ]
[FILE] dir [ edit | delete | rename ]
[FILE] dmesg [ edit | delete | rename ]
[FILE] dnsdomainname [ edit | delete | rename ]
[FILE] domainname [ edit | delete | rename ]
[FILE] echo [ edit | delete | rename ]
[FILE] egrep [ edit | delete | rename ]
[FILE] false [ edit | delete | rename ]
[FILE] fgrep [ edit | delete | rename ]
[FILE] findmnt [ edit | delete | rename ]
[FILE] grep [ edit | delete | rename ]
[FILE] gunzip [ edit | delete | rename ]
[FILE] gzexe [ edit | delete | rename ]
[FILE] gzip [ edit | delete | rename ]
[FILE] hostname [ edit | delete | rename ]
[FILE] ip [ edit | delete | rename ]
[FILE] journalctl [ edit | delete | rename ]
[FILE] kill [ edit | delete | rename ]
[FILE] kmod [ edit | delete | rename ]
[FILE] less [ edit | delete | rename ]
[FILE] lessecho [ edit | delete | rename ]
[FILE] lessfile [ edit | delete | rename ]
[FILE] lesskey [ edit | delete | rename ]
[FILE] lesspipe [ edit | delete | rename ]
[FILE] ln [ edit | delete | rename ]
[FILE] login [ edit | delete | rename ]
[FILE] loginctl [ edit | delete | rename ]
[FILE] ls [ edit | delete | rename ]
[FILE] lsblk [ edit | delete | rename ]
[FILE] lsmod [ edit | delete | rename ]
[FILE] mkdir [ edit | delete | rename ]
[FILE] mknod [ edit | delete | rename ]
[FILE] mktemp [ edit | delete | rename ]
[FILE] more [ edit | delete | rename ]
[FILE] mount [ edit | delete | rename ]
[FILE] mountpoint [ edit | delete | rename ]
[FILE] mv [ edit | delete | rename ]
[FILE] nc [ edit | delete | rename ]
[FILE] nc.openbsd [ edit | delete | rename ]
[FILE] netcat [ edit | delete | rename ]
[FILE] networkctl [ edit | delete | rename ]
[FILE] nisdomainname [ edit | delete | rename ]
[FILE] pidof [ edit | delete | rename ]
[FILE] ping [ edit | delete | rename ]
[FILE] ping4 [ edit | delete | rename ]
[FILE] ping6 [ edit | delete | rename ]
[FILE] ps [ edit | delete | rename ]
[FILE] pwd [ edit | delete | rename ]
[FILE] rbash [ edit | delete | rename ]
[FILE] readlink [ edit | delete | rename ]
[FILE] rm [ edit | delete | rename ]
[FILE] rmdir [ edit | delete | rename ]
[FILE] run-parts [ edit | delete | rename ]
[FILE] sed [ edit | delete | rename ]
[FILE] sh [ edit | delete | rename ]
[FILE] sh.distrib [ edit | delete | rename ]
[FILE] sleep [ edit | delete | rename ]
[FILE] ss [ edit | delete | rename ]
[FILE] stty [ edit | delete | rename ]
[FILE] su [ edit | delete | rename ]
[FILE] sync [ edit | delete | rename ]
[FILE] systemctl [ edit | delete | rename ]
[FILE] systemd [ edit | delete | rename ]
[FILE] systemd-ask-password [ edit | delete | rename ]
[FILE] systemd-escape [ edit | delete | rename ]
[FILE] systemd-hwdb [ edit | delete | rename ]
[FILE] systemd-inhibit [ edit | delete | rename ]
[FILE] systemd-machine-id-setup [ edit | delete | rename ]
[FILE] systemd-notify [ edit | delete | rename ]
[FILE] systemd-sysusers [ edit | delete | rename ]
[FILE] systemd-tmpfiles [ edit | delete | rename ]
[FILE] systemd-tty-ask-password-agent [ edit | delete | rename ]
[FILE] tar [ edit | delete | rename ]
[FILE] tempfile [ edit | delete | rename ]
[FILE] touch [ edit | delete | rename ]
[FILE] true [ edit | delete | rename ]
[FILE] udevadm [ edit | delete | rename ]
[FILE] umount [ edit | delete | rename ]
[FILE] uname [ edit | delete | rename ]
[FILE] uncompress [ edit | delete | rename ]
[FILE] vdir [ edit | delete | rename ]
[FILE] wdctl [ edit | delete | rename ]
[FILE] which [ edit | delete | rename ]
[FILE] ypdomainname [ edit | delete | rename ]
[FILE] zcat [ edit | delete | rename ]
[FILE] zcmp [ edit | delete | rename ]
[FILE] zdiff [ edit | delete | rename ]
[FILE] zegrep [ edit | delete | rename ]
[FILE] zfgrep [ edit | delete | rename ]
[FILE] zforce [ edit | delete | rename ]
[FILE] zgrep [ edit | delete | rename ]
[FILE] zless [ edit | delete | rename ]
[FILE] zmore [ edit | delete | rename ]
[FILE] znew [ edit | delete | rename ]
Viewing: /snap/core18/2999/bin/zgrep
#!/bin/sh
# zgrep -- a wrapper around a grep program that decompresses files as needed
# Adapted from a version sent by Charles Levert <charles@comm.polymtl.ca>
# Copyright (C) 1998, 2001, 2002, 2006, 2007, 2009, 2010 Free Software
# Foundation
# Copyright (C) 1993 Jean-loup Gailly
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
bindir='/bin'
case $1 in
--__bindir) bindir=${2?}; shift; shift;;
esac
PATH=$bindir:$PATH
grep='${GREP-'\''/bin/grep'\''}'
args=
version='zgrep (gzip) 1.6
Copyright (C) 2010-2013 Free Software Foundation, Inc.
This is free software. You may redistribute copies of it under the terms of
the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.
Written by Jean-loup Gailly.'
usage="Usage: $0 [OPTION]... [-e] PATTERN [FILE]...
Look for instances of PATTERN in the input FILEs, using their
uncompressed contents if they are compressed.
OPTIONs are the same as for 'grep'.
Report bugs to <bug-gzip@gnu.org>."
# sed script to escape all ' for the shell, and then (to handle trailing
# newlines correctly) append ' to the last line.
escape='
s/'\''/'\''\\'\'''\''/g
$s/$/'\''/
'
operands=
have_pat=0
files_with_matches=0
files_without_matches=0
no_filename=0
with_filename=0
while test $# -ne 0; do
option=$1
shift
optarg=
case $option in
(-[0123456789EFGHIKLPRTUVZabchilnoqrsuvwxyz]*[!0123456789]*)
arg2=-\'$(LC_ALL=C expr "X$option" : 'X-.[0-9]*\(.*\)' |
LC_ALL=C sed "$escape")
eval "set -- $arg2 "'${1+"$@"}'
option=$(LC_ALL=C expr "X$option" : 'X\(-.[0-9]*\)');;
(--binary-*=* | --[lm]a*=* | --reg*=*)
;;
(-[ABCDXdefm] | binary-* | --file | --[lm]a* | --reg*)
case ${1?"$option option requires an argument"} in
(*\'*)
optarg=" '"$(printf '%s\n' "$1" | LC_ALL=C sed "$escape");;
(*)
optarg=" '$1'";;
esac
shift;;
(-f?*\'*)
optarg=" '"$(LC_ALL=C expr "X$option" : 'X-f\(.*\)' |
LC_ALL=C sed "$escape")
option=-f;;
(-f?*)
optarg=" '"$(LC_ALL=C expr "X$option" : 'X-f\(.*\)')\'
option=-f;;
(--file=*\'*)
optarg=" '"$(LC_ALL=C expr "X$option" : 'X--file=\(.*\)' |
LC_ALL=C sed "$escape")
option=--file;;
(--file=*)
optarg=" '"$(LC_ALL=C expr "X$option" : 'X--file=\(.*\)')\'
option=--file;;
(--)
break;;
(-?*)
;;
(*)
case $option in
(*\'*)
operands="$operands '"$(printf '%s\n' "$option" | LC_ALL=C sed "$escape")
;;
(*)
operands="$operands '$option'";;
esac
${POSIXLY_CORRECT+break}
continue;;
esac
case $option in
(-[drRzZ] | --di* | --exc* | --inc* | --rec* | --nu*)
printf >&2 '%s: %s: option not supported\n' "$0" "$option"
exit 2;;
(-e* | --reg*)
have_pat=1;;
(-f | --file)
# The pattern is coming from a file rather than the command-line.
# If the file is actually stdin then we need to do a little
# magic, since we use stdin to pass the gzip output to grep.
# Turn the -f option into an -e option by copying the file's
# contents into OPTARG.
case $optarg in
(" '-'" | " '/dev/stdin'" | " '/dev/fd/0'")
option=-e
optarg=" '"$(sed "$escape") || exit 2;;
esac
have_pat=1;;
(--h | --he | --hel | --help)
echo "$usage" || exit 2
exit;;
(-H | --wi | --wit | --with | --with- | --with-f | --with-fi \
| --with-fil | --with-file | --with-filen | --with-filena | --with-filenam \
| --with-filename)
with_filename=1
continue;;
(-l | --files-with-*)
files_with_matches=1;;
(-L | --files-witho*)
files_without_matches=1;;
(-h | --no-f*)
no_filename=1;;
(-V | --v | --ve | --ver | --vers | --versi | --versio | --version)
echo "$version" || exit 2
exit;;
esac
case $option in
(*\'?*)
option=\'$(printf '%s\n' "$option" | LC_ALL=C sed "$escape");;
(*)
option="'$option'";;
esac
args="$args $option$optarg"
done
eval "set -- $operands "'${1+"$@"}'
if test $have_pat -eq 0; then
case ${1?"missing pattern; try \`$0 --help' for help"} in
(*\'*)
args="$args -- '"$(printf '%s\n' "$1" | LC_ALL=C sed "$escape");;
(*)
args="$args -- '$1'";;
esac
shift
fi
if test $# -eq 0; then
set -- -
elif test 1 -lt $# && test $no_filename -eq 0; then
with_filename=1
fi
l_e=$(eval "(echo e | $grep -H --label=l e) 2>/dev/null") && test "$l_e" = l:e
gnuish_grep="test $? -eq 0"
if $gnuish_grep && test $with_filename -eq 1; then
grep="$grep -H"
fi
exec 3>&1
res=0
for i
do
# Fail if gzip or grep (or sed) fails.
gzip_status=$(
exec 5>&1
(gzip -cdfq -- "$i" 5>&-; echo $? >&5) 3>&- |
if test $files_with_matches -eq 1; then
eval "$grep$args" >/dev/null && { printf '%s\n' "$i" || exit 2; }
elif test $files_without_matches -eq 1; then
eval "$grep$args" >/dev/null || {
r=$?
if test $r -eq 1; then
printf '%s\n' "$i" || r=2
fi
exit $r
}
elif $gnuish_grep && test "$i" != -; then
eval "$grep --label \"\$i\"$args"
elif $gnuish_grep || test $with_filename -eq 0; then
eval "$grep$args"
else
case $i in
(*'
'* | *'&'* | *'\'* | *'|'*)
icolon=$(printf '%s\n' "$i:" |
LC_ALL=C sed -e 's/[&\|]/\\&/g' -e '$!s/$/\\/');;
(*) icolon="$i:";;
esac
sed_script="s|^|$icolon|"
# Fail if grep or sed fails.
r=$(
exec 4>&1
(eval "$grep$args" 4>&-; echo $? >&4) 3>&- |
LC_ALL=C sed "$sed_script" >&3 4>&-
) && exit $r
r=$?
test 1 -lt $r && exit $r || exit 2
fi >&3 5>&-
)
r=$?
test 128 -lt $r && exit $r
test "$gzip_status" -eq 0 || test "$gzip_status" -eq 2 || r=2
test $res -lt $r && res=$r
done
exit $res