diff options
Diffstat (limited to 'lzgrep')
-rwxr-xr-x | lzgrep | 135 |
1 files changed, 0 insertions, 135 deletions
@@ -1,135 +0,0 @@ -#! /bin/sh -# Lzgrep - Grep wrapper for compressed files. -# Copyright (C) 2008, 2009 Antonio Diaz Diaz. -# -# This script is free software: you have unlimited permission -# to copy, distribute and modify it. - -LC_ALL=C -export LC_ALL -invocation_name=$0 -args= -default_prog=lzip -have_pat=0 -list=0 -no_name=0 - -# Loop over args until pattern is found -while [ x"$1" != x ] ; do - - case "$1" in - --help | --he* | -h) - echo "Lzgrep - Grep wrapper for compressed files." - echo - echo "Lzgrep is a wrapper script around the grep command that allows" - echo "transparent search on any combination of compressed and non-compressed" - echo "files. If any given file is compressed, its uncompressed content is" - echo "used. If a given file does not exist, lzgrep tries the compressed file" - echo "name corresponding to the default compressor selected. The supported" - echo "compressors are gzip, bzip2 and lzip." - echo - echo "Usage: ${invocation_name} [OPTIONS] [GREP_OPTIONS] PATTERN [FILES]" - echo - echo "GREP_OPTIONS are passed directly to grep." - echo "The exit status from grep is preserved." - echo - echo "Options:" - echo " -h, --help display this help and exit" - echo " -V, --version output version information and exit" - echo " --gzip use gzip as default decompressor" - echo " --bzip2 use bzip2 as default decompressor" - echo " --lzip use lzip as default decompressor (default)" - echo - echo "Report bugs to lzip-bug@nongnu.org" - echo "Lzip home page: http://www.nongnu.org/lzip/lzip.html" - exit 0 ;; - --version | --ve* | -V) - echo "Lzgrep 0.5" - echo "Copyright (C) 2009 Antonio Diaz Diaz." - echo "This script is free software: you have unlimited permission" - echo "to copy, distribute and modify it." - exit 0 ;; - --gz*) - default_prog=gzip ;; - --bz*) - default_prog=bzip2 ;; - --lz*) - default_prog=lzip ;; - -[drRzZ] | --di* | --exc* | --inc* | --nu* | --rec*) - echo "${invocation_name}: option $1 not supported" - exit 1 ;; - -e?* | -f?* | --file=* | --reg*=*) - args="${args} $1"; have_pat=1 ;; - -e | -f | --file | --reg*) - args="${args} $1 $2"; shift; have_pat=1 ;; - --*=*) - args="${args} $1" ;; - -[ABCDm] | --af* | --be* | --binary-* | --con* | --de* | --[lm]a*) - args="${args} $1 $2"; shift ;; - -l | --files-with-*) - args="${args} $1"; list=1 ;; - -h | --no-f*) - args="${args} $1"; no_name=1 ;; - --) - break ;; - -?*) - args="${args} $1" ;; - *) - if test ${have_pat} = 0; then args="${args} $1"; have_pat=1 - else break - fi ;; - esac - shift -done - -if test ${have_pat} = 0; then - echo "${invocation_name}: Pattern not found; use --help for usage." 1>&2 - exit 1 -fi - -if test $# -eq 0; then - ${default_prog} -cdfq | grep ${args} - exit $? -fi - -retval=0 -for i in "$@" ; do - prog="${default_prog} -cdfq" - case "$i" in - *.gz | *.tgz) - prog="gzip -cdfq" ;; - *.bz2 | *.tbz | *.tbz2) - prog="bzip2 -cdfq" ;; - *.lz | *.tlz) - prog="lzip -cdfq" ;; - *) - if test -f "$i"; then prog=cat - else - case ${default_prog} in - gzip) - if test -f "$i.gz"; then i="$i.gz"; fi ;; - bzip2) - if test -f "$i.bz2"; then i="$i.bz2"; fi ;; - lzip) - if test -f "$i.lz"; then i="$i.lz"; fi ;; - esac - fi ;; - esac - if test ${list} -eq 1; then - ${prog} -- "$i" | grep ${args} 2>&1 > /dev/null && echo "$i" - r=$? - elif test $# -eq 1 -o ${no_name} -eq 1; then - ${prog} -- "$i" | grep ${args} - r=$? - else - j=`printf "%s" "$i" | sed 's/\\\\/\\\\\\\\/g'` - j=`printf "%s" "$j" | sed 's/|/\\\\|/g'` - j=`printf "%s" "$j" | sed 's/&/\\\\&/g'` - j=`printf "%s" "$j" | tr '\n' ' '` - ${prog} -- "$i" | grep ${args} | sed "s|^|${j}:|" - r=$? - fi - test "$r" -ne 0 && retval="$r" -done - -exit ${retval} |