GIF89a;
Mass Deface Email Grabber
&2 '%s: %s: Option not supported\n' "$0" "$option" exit 2;; (-[ef]* | --file | --file=* | --reg*) 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 continue;; (-L | --files-witho*) files_without_matches=1 continue;; (-h | --no-f*) no_filename=1;; (-V | --v | --ve | --ver | --vers | --versi | --versio | --version) echo "$version" || exit 2 exit;; esac case $option in (*\'?*) option=\'$(expr "X${option}X" : 'X\(.*\)' | sed "$escape");; (*) option="'$option'";; esac 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" | sed "$escape");; (*) grep="$grep -- '$1'";; esac shift fi if test $# -eq 0; then set -- - fi exec 3>&1 # res=1 means that no file matched yet res=1 for i; do case $i in *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) uncompress="gzip -cdfq";; *[-.]bz2 | *[-.]tbz | *.tbz2) uncompress="bzip2 -cdfq";; *[-.]lzo | *[-.]tzo) uncompress="lzop -cdfq";; *) uncompress="$xz -cdfq";; esac # Fail if xz or grep (or sed) fails. xz_status=$( 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; } elif test $files_without_matches -eq 1; then eval "$grep" || { r=$? if test $r -eq 1; then printf '%s\n' "$i" || r=2 fi exit $r } elif test $with_filename -eq 0 && { test $# -eq 1 || test $no_filename -eq 1; }; then eval "$grep" else # Append a colon so that the last character will never be a newline # which would otherwise get lost in shell command substitution. i="$i:" # Escape & \ | and newlines only if such characters are present # (speed optimization). case $i in (*' '* | *'&'* | *'\'* | *'|'*) i=$(printf '%s\n' "$i" | LC_ALL=C sed 's/[&\|]/\\&/g; $!s/$/\\/');; esac # $i already ends with a colon so don't add it here. sed_script="s|^|$i|" # Fail if grep or sed fails. r=$( exec 4>&1 (eval "$grep" 4>&-; echo $? >&4) 3>&- | LC_ALL=C sed "$sed_script" >&3 4>&- ) || r=2 exit $r 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 # still no match test $r -eq 1 && continue # 0 == match, >=2 == fail res=$r done exit $res