30 lines
		
	
	
		
			759 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			759 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| #!/usr/bin/env node
 | |
| var argv = require('optimist')
 | |
|     .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));
 | |
| });
 |