File: line_count_wrap.js

package info (click to toggle)
node-yargs 10.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,428 kB
  • sloc: makefile: 4; sh: 2
file content (29 lines) | stat: -rw-r--r-- 756 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env node
var argv = require('yargs')
    .usage('Count the lines in a file.\nUsage: $0')
    .wrap(80)
    .demand('f')
    .alias('f', [ 'file', 'filename' ])
    .describe('f',
        "Load a file. It's pretty important."
        + " Required even. So you'd better specify it."
    )
    .alias('b', 'base')
    .describe('b', 'Numeric base to display the number of lines in')
    .default('b', 10)
    .describe('x', 'Super-secret optional parameter which is secret')
    .default('x', '')
    .argv
;

var fs = require('fs');
var s = fs.createReadStream(argv.file);

var lines = 0;
s.on('data', function (buf) {
    lines += buf.toString().match(/\n/g).length;
});

s.on('end', function () {
    console.log(lines.toString(argv.base));
});