Read a Text Stream Line by Line with lazylines for Node.js
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' | bashThe above executes commands such as
mv "new.jpg" 001.jpg
mv "newer.jpg" 002.jpg
mv "newest.jpg" 003.jpgInstallation
npm install lazylines
Related post
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)





