通过nodejs追加到文件时从输出中删除^ M.

时间:2016-02-07 15:48:45

标签: javascript node.js

在我的nodejs脚本中,我从控制台输出了我附加到文件的内容。这是伪代码:

var append_fn = function (out) {
    fs.appendFile('file.txt', out, 'utf8');
};
var spawn_res = spawn('command', ['-args']);
spawn_res.stdout.on('data', append_fn);

我遇到的问题是,当我使用 nano [文本编辑器]打开文本文件时,我看到^M散布在周围。我知道这是回车符。

有没有办法可以消除这些字符而只是有一个新行,即我在正常命令行上看到输出的方式?

1 个答案:

答案 0 :(得分:0)

在将字符串写入文件之前尝试替换回车:

out = out.toString();
out = out.split("\r\n").join("\n");

编辑:测试代码

试试这段代码:

out = out.toString();
console.log("BEFORE: " + out.split("\r\n").length);
out = out.split("\r\n").join("\n");
console.log("AFTER: " + out.split("\r\n").length);

如果你得到BEFORE: 1,则不需要更换,问题出在其他地方。

如果您获得BEFORE: x(使用x > 1)并获得AFTER: 1,则需要更换,但还有其他问题。