home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Meeting Pearls 3
/
Meeting_Pearls_III.iso
/
Pearls
/
text
/
FAQ
/
bonus
/
faq_strip_byKL.rexx
< prev
Wrap
OS/2 REXX Batch file
|
1995-09-17
|
3KB
|
122 lines
/* ARexx skript für Meeting Pearls
Entfernt überflüssige Headerinformationen
$VER: faq_strip_byKL.rexx 1.1 (17.09.95) ©1995 Khamsonh Marcel Khounlivong
*/
OPTIONS RESULTS
PARSE ARG keylist destination keepfile stripfile
keylist = Strip(keylist)
destination = Strip(Strip(destination),t,'/')'/'
keepfile = Strip(keepfile)
stripfile = Strip(stripfile)
CALL AddLib("rexxsupport.library",5,-30)
IF (stripfile == "") THEN DO
SAY "faq_stripheader.rexx ©1995 Khamsonh Marcel Khounlivong"
SAY "use:
[RX] faq_stripheader[.rexx] keylist destination keepfile stripfile
"
EXIT
END
/* getting all kep keywords */
IF (~Open(keepin,keepfile,r)) THEN DO
SAY "Can't open" keepfile
EXIT 20
END
keepstring = ""
IF (Strip(ReadLn(keepin)) ~= 'KEEP') THEN DO
SAY keepfile "is not keep keyword file"
EXIT 20
END
DO WHILE(~Eof(keepin))
keepstring = keepstring ReadLn(keepin)
END
CALL Close(keepin)
/* getting all strip keywords */
IF (~Open(stripin,stripfile,r)) THEN DO
SAY "Can't open" stripfile
EXIT 20
END
stripstring = ""
IF (Strip(ReadLn(stripin)) ~= 'STRIP') THEN DO
SAY stripfile "is not strip keyword file"
EXIT 20
END
DO WHILE(~Eof(stripin))
stripstring = stripstring ReadLn(stripin)
END
CALL Close(stripin)
IF (~Open(infile,keylist,r)) THEN DO
SAY "Can't open" keylist
EXIT 20
END
DO FOREVER
string = ReadLn(infile)
IF (Eof(infile)) THEN EXIT
faq = destination || Word(string,1)
IF (~Open(file,faq,r)) THEN SAY "Can't open" faq
ELSE DO
CALL Open(temp,faq'~',w)
SAY 'Parsing [' faq ']'
CALL scan_keys
CALL scan_keys
pos = Seek(file,0,c)
endpos = Seek(file,0,e)
CALL Seek(file,pos,b)
DO WHILE ((endpos - pos) > 65535)
CALL WriteCh(temp,ReadCh(file,65535))
pos = pos + 65535
END
CALL WriteCh(temp,ReadCh(file,endpos-pos))
CALL Close(temp)
CALL Close(file)
CALL Delete(faq)
CALL Rename(faq'~',faq)
END
END
scan_keys:
DO FOREVER
string = ReadLn(file)
IF (Strip(string) ~= "") THEN LEAVE
CALL WriteLn(temp,string)
END
DO FOREVER
first = Word(string,1)
SELECT
WHEN ((Left(first,1) == ' ') | (Left(first,1) == '09'x)) THEN
CALL WriteLn(temp,string)
WHEN (Find(keepstring,first) ~= 0) THEN
CALL WriteLn(temp,string)
WHEN (Find(stripstring,first) ~= 0) THEN
NOP
/* SAY 'stripping line WITH keyword ' || first || '' */
OTHERWISE DO
SAY '... urgs - keyword ' || first || ' not found'
CALL WriteLn(temp,string)
/* Ergänzen des neuen Keywords, um die Logfile-Größe zu reduzieren */
IF (Right(first,1) == ':') THEN ADDRESS command 'ECHO >>' || keepfile first
END
END
string = ReadLn(file)
IF (Strip(string) == "") THEN DO
CALL WriteLn(temp,string)
LEAVE
END
END
RETURN