SED没有给我正确的Mac换行操作-GNU sed和BSD/OSX sed之间的差异

SED没有给我正确的Mac换行操作-GNU sed和BSD/OSX sed之间的差异

我用的是这个参考资料:SED帮助:匹配和替换文字“\n”(不是换行符)

我有一个文件“test1.txt”,其中包含一个字符串hello\n

我使用这个命令搜索并用实际的新行字符替换“\n”:

sed -i '' 's/\\n/\n/g' test1.txt

但结果是:地狱再见..它只是将“\n”替换为“n”,而不是实际的新行。这与/t一样,它将留下一个“t”而不是一个选项卡。

“表示MAC中未定义的错误:http:/mpecherty.wordpress.com/2010/05/27/Diff-with-sed-就地编辑-onmac-os-x-vs-linux/

更新:

我尝试了@hek2mgl建议的两个命令:

sed -i 's/\\n/\n/g' test.txt
# Or:
sed -i'' 's/\\n/\n/g' test.txt

虽然它们可能与Linux一起工作,但在MAC操作系统下,我得到了以下错误:

sed: 1: "test1.txt": undefined label 'est1.txt'

不知道为什么我不能让这件事起作用。提前谢谢。


慕村225694
浏览 1711回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP