Просто опираясь на ответ Шьяма Таяла, если вы хотите заменить всю строку, совпадающую с вашей строкой, а не просто точно совпадающую строку, сделайте это вместо:
fs.readFile(someFile', 'utf8', function(err, data) {
let searchString = 'to replace';
let re = new RegExp('^.*' + searchString + '.*$', 'gm');
let formatted = data.replace(re, 'a completely different line!');
fs.writeFile(someFile, formatted, 'utf8', function(err) {
if (err) return console.log(err);
});
});
Флаг 'm' будет обрабатывать^ и $ метасимволы как начало и конец каждой строки, а не начало или конец всей строки.
Таким образом, приведенный выше код преобразует этот текстовый файл:
one line
a line to replace by something
third line
вэто:
one line
a completely different line!
third line