Node.js:计算文件中的行数
我有大型文本文件,范围在30MB
和之间10GB
。如何使用来计算文件中的行数Node.js
?
我有这些限制:
- 整个文件不需要写入内存
- 不需要子进程来执行任务
回答:
不使用wc的解决方案:
var i;var count = 0;
require('fs').createReadStream(process.argv[2])
.on('data', function(chunk) {
for (i=0; i < chunk.length; ++i)
if (chunk[i] == 10) count++;
})
.on('end', function() {
console.log(count);
});
速度较慢,但您可能没有想到的那么多-140M +文件的传输时间为0.6秒,包括node.js加载和启动时间
>time node countlines.js video.mp4 619643
real 0m0.614s
user 0m0.489s
sys 0m0.132s
>time wc -l video.mp4
619643 video.mp4
real 0m0.133s
user 0m0.108s
sys 0m0.024s
>wc -c video.mp4
144681406 video.mp4
以上是 Node.js:计算文件中的行数 的全部内容, 来源链接: utcz.com/qa/405056.html