Node.js:在文本文件中的特定行之后插入一行
Node.js: Inserting a line after a particular line in a text file?
我试图构建一个命令行应用程序,这样就不需要更新conf文件来阻止ip(或任何东西)。为此,我需要在conf文件的特定位置插入一行带有ip的特定代码。我知道CLI部分。有人能帮我插入零件吗?我写的代码如下,但写得有些胡言乱语!!
#!/usr/bin/env node
var cli = require('cli');
var fs = require('fs');
cli.parse({
block: ['b', 'Block the ip:port'],
ip: ['i', 'provide ip address', 'string', ''],
port: ['p', 'provide port number', 'int', 0],
});
cli.main(function(args, options)
{
if(options.block)
{
fs.readFile('nginx.conf', function(err, data) {
if(err) throw err;
data = data.toString();
var array = data.toString().split("'r'n");
array[4] ='deny ' + cli.getValue(options.ip) + ':' + cli.getValue(options.port);
for(i = 0; i < array.length ; i++) {
fs.writeFile('nginx1.conf', array[i]+''r'n', function () {})
};
});
}
});
回调循环不是一个好主意。试试这个代码-
fs.readFile('nginx.conf', function(err, data) {
if(err) throw err;
//data = data.toString();
var array = data.toString().split("'n");
array[4] ='deny '+cli.getValue(options.ip)+':'+cli.getValue(options.port);
for(i=0;i<array.length;i++) {
fs.appendFileSync('nginx1.conf', array[i]+''n');
}
});
相关文章:
- CKEditor - 插入文本在 setData 之后不起作用
- 如何在 d3.js 中的同级元素之后插入
- 煎茶触摸 - 在组件之后添加/插入
- 动态嵌套列表:单击时插入行,在当前元素之后
- 在原始克隆之后插入克隆
- jQuery - contenteditable - 确定图像之前还是之后的插入符号
- 如何在字符串中的第二个字符之后插入字符
- 我可以在 Javascript 中的 onclick 中的“this”之后插入字符串吗?
- 如何使用原型.js在文本块之后插入内容
- 通过jQuery在最后一项之后插入
- 如何使用jQuery在具有类的特定元素之后插入HTML
- 如何在第二个元素之后插入
- 如何在文本的每 5,000 个字符之后的第一个
或
之后插入一个 - jQuery 在最后一个元素之后插入
- 你如何切换插入之前或插入之后
- Node.js:在文本文件中的特定行之后插入一行
- 复制<李>并将它们插入它们自己之后
- 可以't在使用node js将动态字段值插入mysql DB时,在发送头之后设置头
- 在Meteor方法中承诺之后插入集合
- 在“”之后插入文本;这个“;使用javascript输入元素