Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Read a Text Stream Line by Line with lazylines for Node.js

DZone's Guide to

Read a Text Stream Line by Line with lazylines for Node.js

· Web Dev Zone ·
Free Resource

Learn how error monitoring with Sentry closes the gap between the product team and your customers. With Sentry, you can focus on what you do best: building and scaling software that makes your users’ lives better.

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

 

What’s the best way to boost the efficiency of your product team and ship with confidence? Check out this ebook to learn how Sentry's real-time error monitoring helps developers stay in their workflow to fix bugs before the user even knows there’s a problem.

Topics:

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}