This Text file is old! In a 🏛️Museum, an unsorted archive of (user-)pages. (Saved from Geocities in Oct-2009. The archival story: oocities.org)
--------------------------------------- (To 🚫report any bad content: archivehelp @ gmail.com)
>

;;; pregexp9.scm - 
; extract all lines in a file that match a regex and write them to another file

; uses precompile regex, will save some time, but still very, very slow 
; uses Dr. Scheme's pre-compiled library regexes

(define-macro do-list 
    (lambda (var listform . body)
       (let (( g (gensym) ))
         `(DO ((,g ,listform (CDR ,g))
                (,var '()))
               ((NULL? ,g))
            (SET! ,var (CAR ,g))
            ,@body))))

(define (open-output-file-writeover out-file)
   (if (file-exists? out-file) 
      (delete-file out-file))
   (open-output-file out-file)
  )

(define (match-lines-to-file pattern in-port out-port)
            (do ((line " " (read-line in-port))
	         (i 0 (+ i 1))) 
                ((eof-object? line) #t)
                (let ((answer (regexp-match pattern line)))
                   (if (not answer)
	              '()
                      (display (format "~%~A:~A" i line) out-port) ))))

;-----------------------------------------------------------------------
; run program

; example1
;(define out-file "adieu_de_sucy.txt")
;(define in-file "adieu10.txt")
;(define pattern "de Sucy")
;(define out-port (open-output-file-writeover out-file))
;(define in-port (open-input-file in-file))
;(match-lines-to-file pattern in-port out-port)
;(close-input-port in-port)
;(close-output-port out-port)

; example2
;(define dir "c:\\balzac\\balzacbooksnofront\\")
;(do-list item (directory-list dir) 
;   (display (format "~%~a" item)))

; example3
(define out-file "adieu_de_sucy.txt")
(define in-file "adieu10.txt")
; pre-compile regexp before using it.
(define pattern (regexp "de Sucy"))
(define out-port (open-output-file-writeover out-file))
(define dir "c:\\balzac\\balzacbooksnofront\\")
(do-list file (directory-list dir) 
   (let ( (in-port (open-input-file in-file)) )      
      (match-lines-to-file pattern in-port out-port)
      (close-input-port in-port)
    )
)
(close-output-port out-port)

Text file Source (historic): geocities.com/soho/square/3472

geocities.com/soho/square
geocities.com/soho

(to report bad content: archivehelp @ gmail)