diff options
Diffstat (limited to 'src/scripts/xzgrep')
-rwxr-xr-x | src/scripts/xzgrep | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/src/scripts/xzgrep b/src/scripts/xzgrep deleted file mode 100755 index e359378b..00000000 --- a/src/scripts/xzgrep +++ /dev/null @@ -1,123 +0,0 @@ -#!/bin/sh - -# xzgrep -- a wrapper around a grep program that decompresses files as needed -# Adapted to XZ Utils from gzip-1.3.3 + Red Hat's security patches -# Adapted from a version sent by Charles Levert <charles@comm.polymtl.ca> -# Copyright (C) 1998, 2001 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 2, 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., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# Improve error handling, this is supported by bash but not all the other -# shells so we hide the possible error: -set -o pipefail > /dev/null 2> /dev/null - -prog=`echo "$0" | sed 's|.*/||'` -case "$prog" in - *egrep) grep=${EGREP-egrep} ;; - *fgrep) grep=${FGREP-fgrep} ;; - *) grep=${GREP-grep} ;; -esac - -pat="" -after_dash_dash="" -files_with_matches=0 -files_without_matches=0 -no_filename=0 -with_filename=0 - -while test $# -ne 0; do - case "$after_dash_dash$1" in - --d* | --rec*) echo >&2 "$0: $1: option not supported"; exit 1;; - --files-with-*) files_with_matches=1;; - --files-witho*) files_without_matches=1;; - --no-f*) no_filename=1;; - --wi*) with_filename=1;; - --*) ;; - -*) - case "$1" in - -*[dr]*) echo >&2 "$0: $1: option not supported"; exit 1;; - esac - case "$1" in - -*H*) with_filename=1;; - esac - case "$1" in - -*h*) no_filename=1;; - esac - case "$1" in - -*L*) files_without_matches=1;; - esac - case "$1" in - -*l*) files_with_matches=1;; - esac;; - esac - case "$after_dash_dash$1" in - -[ef]) opt="$opt $1"; shift; pat="$1" - if test "$grep" = grep; then # grep is buggy with -e on SVR4 - grep=egrep - fi;; - -[ABCdm])opt="$opt $1 $2"; shift;; - --) opt="$opt $1"; after_dash_dash=1;; - -*) opt="$opt $1";; - *) if test -z "$pat"; then - pat="$1" - else - break; - fi;; - esac - shift -done - -if test -z "$pat"; then - echo "grep through .xz and .lzma files" - echo "usage: $prog [grep_options] pattern [files]" - exit 1 -fi - -if test $# -eq 0; then - xz -dc | $grep $opt "$pat" - exit $? -fi - -res=0 -trap break SIGPIPE -for i do - xz -dc -- "$i" | - if test $files_with_matches -eq 1; then - $grep $opt "$pat" > /dev/null && printf "%s\n" "$i" - elif test $files_without_matches -eq 1; then - $grep $opt "$pat" > /dev/null || printf "%s\n" "$i" - elif test $with_filename -eq 0 && { test $# -eq 1 || test $no_filename -eq 1; }; then - $grep $opt "$pat" - else - i=${i//\\/\\\\} - i=${i//|/\\|} - i=${i//&/\\&} - i=`printf "%s" "$i" | tr '\n' ' '` - if test $with_filename -eq 1; then - sed_script="s|^[^:]*:|${i}:|" - else - sed_script="s|^|${i}:|" - fi - $grep $opt "$pat" | sed "$sed_script" - fi - r=$? - test $res -lt $r && res=$r - # SIGPIPE + 128 - test "$r" -eq 141 && exit $res -done -trap - SIGPIPE -exit $res |