在我的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
散布在周围。我知道这是回车符。
有没有办法可以消除这些字符而只是有一个新行,即我在正常命令行上看到输出的方式?
答案 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
,则需要更换,但还有其他问题。