1 | #!/usr/bin/env node
|
2 | var 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 |
|
19 | var fs = require('fs');
|
20 | var s = fs.createReadStream(argv.file);
|
21 |
|
22 | var lines = 0;
|
23 | s.on('data', function (buf) {
|
24 | lines += buf.toString().match(/\n/g).length;
|
25 | });
|
26 |
|
27 | s.on('end', function () {
|
28 | console.log(lines.toString(argv.base));
|
29 | });
|