Node.js: Count the number of lines in a file

前端 未结 10 647
一向
一向 2020-12-02 23:02

I have large text files, which range between 30MB and 10GB. How can I count the number of lines in a file using Node.js?

I hav

10条回答
  •  情深已故
    2020-12-02 23:36

    solution without using 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);
      });
    

    it's slower, but not that much you might expect - 0.6s for 140M+ file including node.js loading & startup time

    >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
    

提交回复
热议问题