sdgaw erzswer
sdgaw erzswer

Reputation: 2382

Common lisp reading a gzipped stream line by line

I am currently dealing with a problem, where I have to read a zipped file line by line, and further on process each line and do something with it.

I managed to read from stdin using the following code:

(defun process ()

  (princ (split-sequence:split-sequence #\Space (read-line))))

(defun main (args)
  (process))

*this will be a command line tool

Where I ran it as:

cat file.txt | ./executable

this works fine, but it prints only the first line. I assume I must insert some form of loop in the first part, yet I am not sure how this is to be done.

Thank you for any help!

Upvotes: 0

Views: 148

Answers (1)

sdgaw erzswer
sdgaw erzswer

Reputation: 2382

I solved this using:

  (loop for line = (read-line) ; stream, no error, :eof value
     until (eq line :eof)
     do (princ line))

Upvotes: 1

Related Questions