У меня есть файл, который я бы хотел изменить. Есть ли способ вставить строку в файл по определенному номеру строки? с NodeJS
Я действительно благодарю вас за помощь мне.
Ответ 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