lbl

0.1.0 • Public • Published

lbl NPM version Build Status Dependency Status

Process stdin, line by line, sort of like AWK but 100% JS

Prerequisites

  • There are a couple of handy globals available
    • $ is an alias for global
    • log is an alias for console.log
    • chalk is available for adding color to ouput

Installation

$ npm install lbl --global

Usage

Usage
 
  $ lbl <Options> <STDIN>
 
Options
 
  # Pass processing functions on CLI 
  -a, --after     function to run after processing lines [optional]
  -b, --before    function to run before processing lines [optional]
  -e, --each      function to run on each line [required]
 
  # Or, use a node module file with processing functions: 
  # before(), after(), each() 
  -r, --require   module file with functions
 
  -h, --help      show this usage info
  --version       show the current version installed
 
Examples
 
  $ cat ./data/x.file | lbl -r ./scripts/X.js
  <<BEGIN>>
  > XX
  > Matched 1 from 3
 
  $ printf 'x\\nXX\\nxXx' | lbl -e 'x => { n++; if (x.match(/^X/)) { log(chalk.yellow('> ') + x); f++; } }' -b '() => { $.n = 0; $.f = 0; log('<<BEGIN>>'); }' -a '() => { log('> Matched ' + f + ' from ' + n); }'
  <<BEGIN>>
  > XX
  > Matched 1 from 3

Sample Module File

'use strict';
/* global $, log, chalk, n:true, f:true */
 
module.exports = {
  each: x => {
    n++;
    if (x.match(/^X/)) {
      log(chalk.yellow('') + x);
      f++;
    }
  },
  before: () => {
    $.n = 0;
    $.f = 0;
    log('<<BEGIN>>');
  },
  after: () => {
    log('> Matched ' + f + ' from ' + n);
  }
};

License

ISC © Buster Collings

Package Sidebar

Install

npm i lbl

Weekly Downloads

4

Version

0.1.0

License

ISC

Unpacked Size

9.04 kB

Total Files

7

Last publish

Collaborators

  • buster