在过去的几个小时里,我一直在试图找出下面代码的问题所在。我要做的是将请求正文的内容写入文件,然后\n
使用 enter 从那里删除 s (我正在保存降价,我需要双输入以保持降价有效)。
在我的路由器中运行以下命令时:
// working code
...
if (shell.exec(`echo "${blog.content}" > ${blogTitleWithDash}.md`).code !==0) {
logger.error('Error! writing to file failed!');
return res.status(500).json('Error! Something went wrong');
}
// replace \n
if (shell.exec(`awk '{gsub(/\\\\n/,\"\\n\\n\")}1' ${blogTitleWithDash}.md > ${blogTitleWithDash}2.md`).code !== 0) {
logger.error('Error! Awk failed!');
return res.status(500).json('Error! Something went wrong');
}
文件中似乎没有任何更改。我试过替换其他字符,但没有用。但是,获取传递给的字符串shell.exec()
并从命令行运行它可以完美地工作:
awk '{gsub(/\\n/,"\n\n")}1' This-is-a-test-blog.md > This-is-a-test-blog2.md
我是在滥用shelljs
还是弄乱了awk
命令?