61 lines
1.5 KiB
JavaScript
61 lines
1.5 KiB
JavaScript
|
|
var path = '/Users/hanka/Documents/documents/export-medium.csv';
|
|
var pattern = '[0-9a-fA-F]{8,16}?';
|
|
|
|
if (typeof arguments !== 'undefined') {
|
|
for (i in arguments) {
|
|
var val = arguments[i];
|
|
if (val.substring(0,5) == "path=") path = val.substring(5);
|
|
if (val.substring(0,8) == "pattern=") pattern = val.substring(8);
|
|
}
|
|
} else if (typeof process !== 'undefined') {
|
|
process.argv.forEach((val, index, array) => {
|
|
if (val.substring(0,5) == "path=") path = val.substring(5);
|
|
if (val.substring(0,8) == "pattern=") pattern = val.substring(8);
|
|
});
|
|
}
|
|
|
|
|
|
//console.log(path);
|
|
|
|
//console.time("reading input file");
|
|
var buffer = null;
|
|
if (readFile) {
|
|
buffer = readFile(path);
|
|
} else {
|
|
var fs = require('fs');
|
|
buffer = fs.readFileSync(path);
|
|
}
|
|
//console.timeEnd("reading input file");
|
|
var lines = [];
|
|
//console.time("to string");
|
|
var str = buffer.toString('ascii');
|
|
//console.timeEnd("to string");
|
|
//console.time("split");
|
|
var data = str.split("\n");
|
|
//console.timeEnd("split");
|
|
|
|
// read lines to array
|
|
|
|
var re = new RegExp(pattern);
|
|
|
|
var count = 0;
|
|
print(preciseTime());
|
|
var start = preciseTime();
|
|
//console.time("matching");
|
|
for (i in data) {
|
|
var line = data[i];
|
|
////console.log(line.search(re));
|
|
if (line.search(re) != -1) {
|
|
//print(line+'\n');
|
|
////console.log(line);
|
|
count++; ////console.log(line);
|
|
}
|
|
}
|
|
var end = preciseTime();
|
|
print("matching: " + ((end-start)*1000) + " ms");
|
|
print("matched: " + count);
|
|
//console.timeEnd("matching");
|
|
|
|
//console.log("matched: "+count);
|