在行号nodejs中插入string

我有一个我想要修改的文件。 有没有一种方法可以将string插入到特定行号的文件中? 与NodeJS

我非常感谢你帮助我

只要文本文件不是那么大,你应该可以在文本文件中读入一个数组,在特定的行索引中插入一个元素,然后将数组输出回文件。 我已经把一些示例代码下面 – 确保你改变'file.txt'"Your String"和特定的lineNumber

免责声明,我还没有时间testing下面的代码呢:

 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); }); 

如果你在一个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 。