-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcover.js
More file actions
57 lines (50 loc) · 1.22 KB
/
cover.js
File metadata and controls
57 lines (50 loc) · 1.22 KB
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
var program = require('commander');
var fs = require('fs');
var stream = require('lei-stream');
var outFile = 'test.json';
program
.version('0.0.1')
.option('-i,--input [file]','the input log')
.parse(process.argv);
if(!program.hasOwnProperty('input')) {
console.log('input file must be specify');
process.exit(0)
}
if(!fs.existsSync(program.input)) {
console.log('file "' + program.input + '" not found.');
process.exit(0);
}
var dict = {};
dict.dict = 'caton';
dict.num = 0;
dict.data = [];
var s = stream.readLine(fs.createReadStream(program.input), {
//var s = stream.readLine(source, {
// 换行符,默认\n
newline: '\n',
// 是否自动读取下一行,默认false
autoNext: false,
});
s.on('data', function (data) {
var item = {};
var field = data.split('@*');
for(var i in field) {
if(field[i] === '') {
continue;
}
if(i == 0) {
item['parent'] = field[i];
} else {
item[i.toString()] = field[i];
}
}
console.log(item);
dict.data.push(item);
dict.num = dict.num + 1;
s.next();
});
// 流结束时触发end事件
s.on('end', function () {
console.log('done');
fs.writeFileSync(outFile,JSON.stringify(dict, null, 4));
});