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

Removing ^M from output when appending to file via nodejs

本文关键字:输出 删除 nodejs 追加 文件 通过      更新时间:2023-09-26

在我的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分散在周围。我知道这是回车字符。

有没有办法消除这些字符并只使用换行符,即我在普通命令行上看到输出的方式?

在将

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

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: xx > 1)并得到AFTER: 1你需要更换,但还有另一个问题。