nodejs - заменить строку везде в большом файле - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть несколько огромных файлов, которые трудно прочитать в памяти. Мне нужно прочитать каждую строку, а затем заменить двойные кавычки, если найдены и редактировать тот же файл. Прямо сейчас я читаю файл построчно, сохраняю в массив и перезаписываю тот же файл. Но это дает проблемы с памятью для больших файлов. Есть указатели? Вот моя нынешняя реализация:

var allData = fs.readFileSync(fileName, { encoding: 'utf8' }).toString().split("\n");
var finalString = "";
for (i in allData) {

    allData[i] = allData[i].replace(/"/g, '""');
    finalString = finalString.concat(allData[i]);
    finalString = finalString.concat("\n");

}
fs.writeFileSync(fileName, finalString);

Есть ли способ редактирования, читая по одной строке за раз и изменяя ее в файле?

...