#!/usr/local/bin/scsh \ -o tables -e main -s USAGE: delete-duplicate-lines.scm < INPUT > OUTPUT Copy std INPUT to std OUTPUT w/o duplicates of lines !# ;; Copy the lines of stdin to stdout ;; adding raunch and excitement. (define (delete-duplicate-lines) (let ((previous-lines (make-string-table))) (awk (read-line) (line) () ((table-ref previous-lines line)) (else (table-set! previous-lines line #t) (display line) (newline))))) (define (main args) (if (= (length args) 1) (delete-duplicate-lines) (format #t "Usage: ~a < INPUT > OUTPUT~%" (first args))))