Подтвердить что ты не робот

Вставить строку в строке number nodejs

У меня есть файл, который я бы хотел изменить. Есть ли способ вставить строку в файл по определенному номеру строки? с NodeJS

Я действительно благодарю вас за помощь мне.

4b9b3361

Ответ 1

Пока текстовый файл не такой большой, вы должны просто читать текстовый файл в массиве, вставлять элемент в определенный индекс строки и затем выводить массив обратно в файл. Я привел несколько примеров кода - убедитесь, что вы изменили 'file.txt', "Your String" и конкретный lineNumber.

Отказ от ответственности, я еще не успел проверить приведенный ниже код:

var fs = require('fs');

var data = fs.readFileSync('file.txt').toString().split("\n");
data.splice(lineNumber, 0, "Your String");
var text = data.join("\n");

fs.writeFile('file.txt', text, function (err) {
  if (err) return console.log(err);
});

Ответ 2

Если вы находитесь в системе Unix, вы, вероятно, захотите использовать sed, например, чтобы добавить текст в середину файл:

#!/bin/sh
text="Text to add"
file=data.txt

lines=`wc -l $file | awk '{print $1}'`

middle=`expr $lines / 2`

# If the file has an odd number of lines this script adds the text
# after the middle line. Comment this block out to add before
if [ `expr $lines % 2` -eq 1 ]
then
  middle=`expr $middle + 1`
fi

sed -e "${middle}a $text" $file

Примечание: выше пример из здесь.

С NodeJS кажется, что есть некоторые npm, которые могут помочь, например sed.js, или replace.