частичная запись файла с использованием nodejs fs - PullRequest
0 голосов
/ 01 апреля 2019

Я хочу прочитать файл построчно (что-то, что я уже понял), а затем проанализировать эти строки и заменить некоторые строки (основываясь на некоторых условиях) и записать обратно только те новые строки в файл.

Выполнено чтение по строкам:

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);
});

Выполнено манипулирование некоторыми строками в массиве строк:

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

Теперь я застрял в той части, гдеЯ хочу выборочно записывать только определенные строки этого файла.Один из подходов состоит в том, что я создаю новую строку, соединяя массив строк с \ n, а затем записываю обратно весь файл.Но ответит ли - заставит git заметить эти изменения в этих номерах строк?

Есть ли функция fs, которая может заставить меня записать в файл только определенную строку и не заменить весь файл ??

...