arnaucube
arnaucube/socketioMEANseedPublic Self-hosted repository
socketioMEANseed/www/node_modules/optimist/example/line_count_wrap.js
www/node_modules/optimist/example/line_count_wrap.jsRaw
 1#!/usr/bin/env node
 2var argv = require('optimist')
 3    .usage('Count the lines in a file.\nUsage: $0')
 4    .wrap(80)
 5    .demand('f')
 6    .alias('f', [ 'file', 'filename' ])
 7    .describe('f',
 8        "Load a file. It's pretty important."
 9        + " Required even. So you'd better specify it."
10    )
11    .alias('b', 'base')
12    .describe('b', 'Numeric base to display the number of lines in')
13    .default('b', 10)
14    .describe('x', 'Super-secret optional parameter which is secret')
15    .default('x', '')
16    .argv
17;
18
19var fs = require('fs');
20var s = fs.createReadStream(argv.file);
21
22var lines = 0;
23s.on('data', function (buf) {
24    lines += buf.toString().match(/\n/g).length;
25});
26
27s.on('end', function () {
28    console.log(lines.toString(argv.base));
29});