New Node.js module “lazylines”: read a text stream, line by line
The new Node.js module “
lazylines” allows you to read a text stream, one line at a time, lazily.
Examples
The following code reads input from stdin and prepends a number to each line.
var ll = require("lazylines.js");
process.stdin.resume();
var inp = new ll.LineReadStream(process.stdin);
var count = 1;
inp.on("line", function (line) {
console.log(count+": "+ll.chomp(line));
count++;
});
There are more examples in the
demo/ directory. lazylines is very handy for shell programming. For example, you can implement a script that lets you do the following.
# List jpg files, oldest first (-t -r), then wrap
ls -1 -t -r *.jpg | addlinecounts.js 'mv "{line}" {padi}.jpg' | bash
The above executes commands such as
mv "new.jpg" 001.jpg
mv "newer.jpg" 002.jpg
mv "newest.jpg" 003.jpg
Installation
npm install lazylines
Related post