使用nodejs fs

时间:2019-04-01 05:50:49

标签: node.js file-io io fs

我想逐行读取文件(我已经弄清楚了),然后解析这些行并替换某些行(基于某些条件),然后仅将那些新行写回到文件中。

按行读取已完成:

import fs from 'fs';
import path from 'path';
import readLine from 'readline';


const lines = [];
const rl = readLine.createInterface({
 input: fs.createReadStream(pathToJsFile),
 crlfDelay: Infinity
});

rl.on('line', (line) => {
 lines.push(line);
});

已经完成了lines数组中某些行的操纵:

const lineChangeNumbers = []; 
lines.forEach((v,i) => {
   if(condition(v){
      //change v in some way - set new string on v
      lineChangeNumbers.push(i);
   }
})

现在,我被困在仅选择性地回写此文件某些行的部分。 一种方法是,通过将lines数组与\ n连接起来,构造一个新字符串,然后写回整个文件。 但是会回写-让git注意到这些行号上的那些更改吗?

有一个fs函数可以使我仅将某一行写回到文件中而不替换整个文件吗?

0 个答案:

没有答案