campo-sirio/zip/unzip/os2/zipgrep.cmd
alex f0d81ffd1c This commit was generated by cvs2svn to compensate for changes in r5402,
which included commits to RCS files with non-trunk default branches.

git-svn-id: svn://10.65.10.50/trunk@5403 c028cbd2-c16b-5b4b-a496-9718f37d4682
1997-10-20 15:51:36 +00:00

57 lines
1.6 KiB
Batchfile
Executable File

/*---------------------------------------------------------------------------
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