Overwrite a line in a file using node.js

前端 未结 2 1475
独厮守ぢ
独厮守ぢ 2020-12-03 18:22

What\'s the best way to overwrite a line in a large (2MB+) text file using node.js?

My current method involves

  • copying the entire file into a buffer.
2条回答
  •  时光取名叫无心
    2020-12-03 18:47

    Maybe you can try the package replace-in-file

    suppose we have a txt file as below, and we want to replace:

    line1 -> line3

    line2 -> line4

    // file.txt
    "line1"
    "line2"
    "line5"
    "line6"
    "line1"
    "line2"
    "line5"
    "line6"
    

    Then, we can do it like this:

    const replace = require('replace-in-file');
    
    const options = {
        files: "./file.txt",
        from: [/path1/g, /path2/g],
        to: ["path3", "path4"]
    };
    
    replace(options)
    .then(result => {
        console.log("Replacement results: ",result);
    })
    .catch(error => {
        console.log(error);
    });
    

    More details please refer to its docs: https://www.npmjs.com/package/replace-in-file

提交回复
热议问题