>>-SysFileSearch(target,file,stem--+----------+--)------------->< +-,options-+
Finds all file lines containing the target string and returns the file lines in a Rexx stem variable collection.
Parameters:
The target search string.
The searched file.
The result stem variable name. SysFileSearch sets Rexx variable stem.0 to the number of lines returned and stores the individual lines in variables stem.1 to stem.n.
Any combination of the following one-character options:
Conducts a case-sensitive search.
Returns the file line numbers.
Return codes:
Successful.
Not enough memory.
Error opening file.
Example:
/* Find DEVICE statements in CONFIG.SYS */ call SysFileSearch "DEVICE", "C:\CONFIG.SYS", "file." do i=1 to file.0 say file.i end /* Output */ DEVICE=C:\SB16\DRV\CTSB16.SYS /UNIT=0 /BLASTER=A:240 I:5 D:1 H:5 DEVICE=C:\SB16\DRV\CTMMSYS.SYS rem **** DOS SCSI CDROM device drivers *** DEVICE=C:\SCSI\ASPI8DOS.SYS /D DEVICE=C:\SCSI\ASPICD.SYS /D:ASPICD0 rem **** IDE CDROM device drivers DEVICE=C:\DOS\HIMEM.SYS DEVICE=C:\SBCD\DRV\SBIDE.SYS /V /D:MSCD001 /P:1f0,14 DEVICE=C:\DOS\SETVER.EXE DEVICE=C:\WINDOWS\SMARTDRV.EXE /DOUBLE_BUFFER DEVICE=C:\WINDOWS\IFSHLP.SYS /* Find DEVICE statements in CONFIG.SYS (along with */ /* line numbers) */ call SysFileSearch "DEVICE", "C:\CONFIG.SYS", "file.", "N" do i=1 to file.0 say file.i end /* Output */ 1 DEVICE=C:\SB16\DRV\CTSB16.SYS /UNIT=0 /BLASTER=A:240 I:5 D:1 H:5 2 DEVICE=C:\SB16\DRV\CTMMSYS.SYS 4 rem **** DOS SCSI CDROM device drivers *** 5 DEVICE=C:\SCSI\ASPI8DOS.SYS /D 6 DEVICE=C:\SCSI\ASPICD.SYS /D:ASPICD0 8 rem **** IDE CDROM device drivers 9 DEVICE=C:\DOS\HIMEM.SYS 10 DEVICE=C:\SBCD\DRV\SBIDE.SYS /V /D:MSCD001 /P:1f0,14 13 DEVICE=C:\DOS\SETVER.EXE 16 DEVICE=C:\WINDOWS\SMARTDRV.EXE /DOUBLE_BUFFER 17 DEVICE=C:\WINDOWS\IFSHLP.SYS