Process stdin, line by line, sort of like AWK but 100% JS
Prerequisites
- There are a couple of handy globals available
$
is an alias forglobal
log
is an alias forconsole.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 -b, --before -e, --each # 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 */ moduleexports = { n++; if x ; f++; } { $n = 0; $f = 0; ; } { ; };
License
ISC © Buster Collings