相关疑难解决方法(0)

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

我正在使用这个参考:sed help:匹配和替换文字"\n"(不是换行符)

我有一个文件"test1.txt",其中包含一个字符串hello \ngoodbye

我使用此命令搜索并用实际的换行符替换"\n":

sed -i '' 's/\\n/\n/g' test1.txt
Run Code Online (Sandbox Code Playgroud)

但结果是:hellongoodbye.它只是将"\n"替换为"n"而不是实际的新行.这与/ t相同,它将留下"t"而不是选项卡.

''是针对MAC中未定义的错误:http://mpdaugherty.wordpress.com/2010/05/27/difference-with-sed-in-place-editing-on-mac-os-x-vs-linux /

更新:

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

sed -i 's/\\n/\n/g' test.txt
# Or:
sed -i'' 's/\\n/\n/g' test.txt
Run Code Online (Sandbox Code Playgroud)

虽然它们可能适用于Linux,但使用MAC OS时出现以下错误:

sed: 1: "test1.txt": undefined label 'est1.txt'
Run Code Online (Sandbox Code Playgroud)

不知道为什么我不能让这个工作.提前致谢.

macos bsd gnu sed

15
推荐指数
2
解决办法
2万
查看次数

标签 统计

bsd ×1

gnu ×1

macos ×1

sed ×1