0JZKERIN1EX1.TTTA0JXAZK0JHK0JZKERIN1EX2.TTTA0JXS0KZKGS0JIERZJ27I27I0JXFZKMF A "Start_string" the user input 0JXS0KZK:GS0JZKERIN1EX3.TTTA0JXT0KZKGT0JIERZJ27I27I0JXFZKMF A "Stop_string" the user input 0JXT0KZK:GT Extraction Macro Created: 0JHKI<I!A!I<I0UJ27II1:A27I IZU227IIQ2-0"E@O/T/'27II0UH27IIS GS27II:;27II0JZK>27IIZV0J0,ZPW27IIZK !D!I<I0UJ27II1:A27IIZU227I IQ2-0"E@O/V/'27II0UH27IIS GT27II:;27IIZV0J0,ZPW27IIZK>IZV0J0,ZPW27I IZK>27II@O/B/'27II!T!27II QH-3"L1%H27II@O/A/'27II@O/B/'27II!V!27I IQH-3"L1%H27II@O/D/'27II!B!27I27I0JZVZXY 0JHK0JZKGA0JS.KIEXT 0J27IIEWZJ27I27I0JXEZKME 0JHK0JZKGA0J0J27IIERZJ27I27I0JXEZKME0JHK^A EXTRACT.TEC - Please Be Patient As This May Take A While.  Results extracted MYEC0JZKEWEXT.TTTGYEG@ZZZZZZ.ZZZ ! EXTRACT ! 0JZKERIN1EX1.TTT A  0JXAZK 0JHK 0JZKERIN1EX2.TTT A  0JXS0KZK GS 0JIERZJ27I27I0JXFZKMF A   "Start_string" the user input  0JXS0KZK :GS 0JZKERIN1EX3.TTT A  0JXT0KZK GT 0JIERZJ27I27I0JXFZKMF A   "Stop_string" the user input  0JXT0KZK :GT  Extraction Macro Created:  0JHK I < I !A! I< I0UJ27I I1:A27I I ZU227I IQ2-0"E@O/T/'27I I0UH27I I S GS27I I:;27I I 0JZK >27I I ZV 0J0,ZPW27IIZK !D! I< I 0UJ27I I1:A27I I ZU227I IQ2-0"E@O/V/'27I I 0UH27I I S GT27I I:;27I I ZV 0J 0,ZPW27I IZK > I ZV 0J 0,ZPW27I IZK > 27I I @O/B/ '27I I!T!27I I QH-3 "L 1%H27II @O/A/ '27I I @O/B/ '27I I !V!27I I QH-3 "L 1%H27II @O/D/ '27I I !B!27I27I 0J ZV ZXY 0JHK 0JZKGA0J S.KIEXT 0J27IIEWZJ27I27I0JXEZKME 0JHK 0JZKGA0J 0J27IIERZJ27I27I0JXEZKME 0JHK ^A EXTRACT.TEC - Please Be Patient As This May Take A While.   Results extracted  MY EC 0JZKEWEXT.TTTGY EG@ZZZZZZ.ZZZ ! EXTRACT ! ! THIS COMMAND LINE WILL EXTRACT LINES FROM A FILE BASED UPON ! ! A STARTING STRING AND AN ENDING STRING ! ! ! ! THE ORIGIONAL FILES WILL REMAIN UNMODIFIED ! ! ! ! THE RESULTS WILL BE PLACED IN "FILENAME.EXT" ! ! ! 0JZKERIN1EX1.TTT ! GET THE NAME OF THE FILE ! ! ELIMINATE ANY CARRIAGE RETURNS! A  ! SAVE IT IN "A" BUFFER! 0JXAZK 0JHK 0JZKERIN1EX2.TTT ! GET START STRING THE USER DESIRES TO USE ! ! ELIMINATE ANY CARRIAGE RETURNS! A  ! SAVE THE START STRING FILE NAME IN THE "S" BUFFER ! 0JXS0KZK ! GET THE ACTUAL "START_STRING" ! ! OUT OF THE "F" BUFFER ! GS 0JIERZJ27I27I0JXFZKMF ! ELIMINATE ANY CARRIAGE RETURNS! A  ! SAVE THE START STRING IN THE "S" BUFFER ! ! SHOW THE USER THE CREATED MACRO !  "Start_string" the user input  0JXS0KZK :GS 0JZKERIN1EX3.TTT ! GET STOP STRING THE USER DESIRES TO USE ! ! ELIMINATE ANY CARRIAGE RETURNS! A  ! SAVE THE START STRING IN THE "T" BUFFER ! 0JXT0KZK ! GET THE ACTUAL "STOP_STRING" ! ! OUT OF THE "F" BUFFER ! GT 0JIERZJ27I27I0JXFZKMF ! ELIMINATE ANY CARRIAGE RETURNS! A  ! SAVE THE START STRING IN THE "S" BUFFER ! ! SHOW THE USER THE CREATED MACRO !  "Stop_string" the user input  0JXT0KZK :GT ! SHOW THE USER THE CREATED MACRO !  Extraction Macro Created:  ! BUILD THE EXTRACTION MACRO ! ! READ IN A LINE AT A TIME ! ! KILL TILL START STRING FOUND ! ! WRITE OUT EACH TILL STOP STRING FOUND ETC. ! ! ! ! THE WAY TO DO THIS IS TO HAVE TWO SECTIONS IN THE MAIN LOOP THAT ! ! EXECUTE "START" STRING MACRO TO KILL TILL "START" FOUND THEN GO TO ! ! SECOND MACRO TO SAVE TILL "STOP" FOUND ! 0JHK ! CREATE THE "EXTRACT" MACRO STRING MARO ! !~ ! ! TOP OF LOOP ! I < I !A! I< ! ZERO ZERO PAGE TEST BUFFER ! I0UJ27I ! READ A LINE ! I1:A27I !PUT BUFFER LENGTH IN BUFFER 2 ! I ZU227I ! IF NO MORE LEFT IN THIS FILE DONT TRY TO EXTRACT ANY MORE ! IQ2-0"E@O/T/'27I ! RESET THE BUFFER LENGTH TEST ! I0UH27I ! SEARCH FOR THE "START_STRING" & KILL TILL ITS FOUND ! I S GS27I ! ON SEARCH SUCESS EXIT LOOP ! I:;27I ! KILL THE INPUT LINE BECAUSE "START_STRING" NOT FOUND YET ! I 0JZK >27I ! END OF FIRST LOOP ! ! "START_STRING" FOUND SO START SAVING TILL "STOP_STRING FOUND ! ! ! ! TOP OF SECOND LOOP ! ! ! ! SHOW THE USER WHAT WAS SAVED - SAVE THE "START_STRING" LINE ALSO ! I ZV 0J0,ZPW27IIZK !D! I< ! ZERO ZERO PAGE TEST BUFFER ! I 0UJ27I ! READ A LINE ! I1:A27I !PUT BUFFER LENGTH IN BUFFER 2 ! I ZU227I ! IF NO MORE LEFT IN THIS FILE DONT TRY TO EXTRACT ANY MORE ! IQ2-0"E@O/V/'27I ! RESET THE BUFFER LENGTH TEST ! I 0UH27I ! SEARCH FOR THE "STOP_STRING" & SAVE TILL ITS FOUND ! I S GT27I ! ON SEARCH SUCESS EXIT LOOP ! I:;27I ! SAVE THE INPUT LINE BECAUSE "STOP_STRING" NOT FOUND YET ! ! ALSO SHOW USER WHAT WAS "EXTRACTED" ! I ZV 0J0,ZPW27I IZK > ! SHOW THE USER WHAT WAS SAVED - SAVE THE "STOP_STRING" LINE ALSO ! I ZV 0J0,ZPW27I IZK > 27I ! GO TO END OF MACRO TO CLOSE FILE ! I@O/B/'27I I!T!27I ! NOT 3 EMPTY BUFFERS YET SO NOT DONE ! I QH-3"L1%H27II@O/A/'27I ! GO TO END OF MACRO TO CLOSE FILE ! I@O/B/'27I I !V!27I ! NOT 3 EMPTY BUFFERS YET SO NOT DONE GO BACK TO TOP OF SECOND LOOP ! I QH-3"L1%H27II@O/D/'27I ! ALL DONE THIS FILE BECAUSE EMPTY PAGE WAS READ IN ! I !B!27I27I ! SAVE THE CREATED "EXTRACT" MACRO IN BUFFER "Y" ! 0J ZV ZXY 0JHK ! OPEN THE OUTPUT FILE FROM BUFFER "A" USE BUFFER "E" ! 0JZKGA0J S.KIEXT 0J27IIEWZJ27I27I0JXEZKME 0JHK ! OPEN THE INPUT FILE FROM BUFFER "A" USE BUFFER "E" ! 0JZKGA0J 0J27IIERZJ27I27I0JXEZKME 0JHK ! NOW READ IN INPUT FILE A LINE AT A TIME "FILE A" ! ! AND OUTPUT TO FILE "C" ! ^A EXTRACT.TEC - Please Be Patient As This May Take A While.  ! SHOW THE USER WHAT HE GOT !  Results extracted  ! EXECUTE THE "EXTRACT" MACRO ! MY ! CLOSE THE OUTPUT FILE ! EC ! TEMP SAVE THE CREATED "EXTRACTION" MACRO ! 0JZKEWEXT.TTTGY EG@ZZZZZZ.ZZZ