zipgrep.cmd
资源名称:unzip540.zip [点击查看]
上传用户:andy_li
上传日期:2007-01-06
资源大小:1019k
文件大小:2k
源码类别:
压缩解压
开发平台:
MultiPlatform
- /*---------------------------------------------------------------------------
- zipgrep.cmd (ye olde REXX procedure for OS/2)
- Script to search members of a zipfile for a string or regular expression
- and print the names of any such members (and, optionally, the matching
- text). The search is case-insensitive by default.
- History:
- original Bourne shell version by Jean-loup Gailly
- modified by Greg Roelofs for Ultrix (no egrep -i) and zipinfo -1
- OS/2 REXX script by Greg Roelofs
- Last modified: 19 Jul 93
- ---------------------------------------------------------------------------*/
- PARSE ARG string zipfile members
- if (string == '') then do
- say 'usage: zipgrep search_string zipfile [members...]'
- say ' Displays the names of zipfile members containing a given string,'
- say ' in addition to the matching text. This procedure requires unzip'
- say ' and egrep in the current path, and it is quite slow....'
- exit 1
- end
- /* doesn't seem to work...
- newq = RXQUEUE("Create",zipgrep_pipe)
- oldq = RXQUEUE("Set",newq)
- */
- /* flush the queue before starting */
- do QUEUED()
- PULL junk
- end
- /* GRR: can also add "2>&1" before pipe in following external command */
- '@unzip -Z1' zipfile members '| rxqueue'
- do while QUEUED() > 0
- PARSE PULL file
- '@unzip -p' zipfile file '| egrep -is' string
- if rc == 0 then do
- SAY file':'
- /* can comment out following line if just want filenames */
- '@unzip -p' zipfile file '| egrep -i' string
- end
- end
- /*
- call RXQUEUE "Delete",newq
- call RXQUEUE "Set",oldq
- */
- exit 0