- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
zipgrep
资源名称:unzip540.zip [点击查看]
上传用户:andy_li
上传日期:2007-01-06
资源大小:1019k
文件大小:1k
源码类别:
压缩解压
开发平台:
MultiPlatform
- #! /bin/sh
- # zipgrep: searches the given zip members for a string or pattern
- # This shell script assumes that you have installed UnZip.
- pat=""
- opt=""
- while test $# -ne 0; do
- case "$1" in
- -e | -f) opt="$opt $1"; shift; pat="$1";;
- -*) opt="$opt $1";;
- *) if test -z "$pat"; then
- pat="$1"
- else
- break;
- fi;;
- esac
- shift
- done
- if test $# = 0; then
- echo "usage: `basename $0` [egrep_options] pattern zipfile [members...]"
- echo searches the given zip members for a string or pattern
- exit 1
- fi
- zipfile="$1"; shift
- list=0
- silent=0
- opt=`echo "$opt" | sed -e 's/ //g' -e 's/-//g'`
- case "$opt" in
- *l*) list=1; opt=`echo $opt | sed s/l//`
- esac
- case "$opt" in
- *h*) silent=1
- esac
- if test -n "$opt"; then
- opt="-$opt"
- fi
- res=0
- for i in `unzip -Z1 "$zipfile" ${1+"$@"}`; do
- if test $list -eq 1; then
- unzip -p-L "$zipfile" "$i" | egrep $opt "$pat" > /dev/null && echo $i
- r=$?
- elif test $silent -eq 1; then
- unzip -p-L "$zipfile" "$i" | egrep $opt "$pat"
- r=$?
- else
- unzip -p-L "$zipfile" "$i" | egrep $opt "$pat" | sed "s|^|${i}:|"
- r=$?
- fi
- test "$r" -ne 0 && res="$r"
- done
- exit $res