我正在使用这个参考: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)
不知道为什么我不能让这个工作.提前致谢.