Я хочу прочитать файл построчно (что-то, что я уже понял), а затем проанализировать эти строки и заменить некоторые строки (основываясь на некоторых условиях) и записать обратно только те новые строки в файл.
Выполнено чтение по строкам:
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, которая может заставить меня записать в файл только определенную строку и не заменить весь файл ??