在文件中,我需要用字符串替换所有换行符(不是转义序列 '\n',而是实际的换行符)。我在 SO 上发现的所有问题都是相反的;即用文字换行符替换字符串。这是在 Mac 上。
我试过以下
sed -i '' 's/\
/STOP/g' file.txt
Run Code Online (Sandbox Code Playgroud)
但它给了我一个“未终止的替代模式”错误。
虽然也可以使用它来完成,sed但这样做awk要简单得多:
awk -v ORS='STOP' '1' file
Run Code Online (Sandbox Code Playgroud)
这会将输出记录分隔符更改为STOP而不是 default \n。
更新:这是在 OSX 上执行相同操作的 sed 版本:
sed -i.bak -n -e 'H;${x;s/\n/STOP/g;p;}' file
Run Code Online (Sandbox Code Playgroud)