dundalek / closh

Bash-like shell based on Clojure
Eclipse Public License 1.0
1.62k stars 66 forks source link

Make sure unlimited file can be piped #137

Open dundalek opened 5 years ago

dundalek commented 5 years ago

In bash following processes each line as it is appended to a file:

tail -F tmp.log | while read LOGLINE; do echo `date` ":" $LOGLINE; done

In closh that could be:

tail -F tmp.log |> #(doseq [line %] (println (sh-str date) ":" line))

Make sure it can process potentially unlimited file. Make sure the pipe operator |> uses lazy-seqs.

Make sure that piping large streams, e.g. /dev/zero will not run out of memory.