在mac上的sed中用换行符替换换行符

时间:2014-07-24 19:17:31

标签: regex macos sed

在文件中,我需要用字符串替换所有换行符(不是转义序列' \ n',而是实际换行符)。我在SO上发现的所有问题都是相反的;即用字面换行替换字符串。这是在Mac上。

我已尝试过以下

sed -i '' 's/\
/STOP/g' file.txt

但它给了我一个"未终止的替代模式"错误。

1 个答案:

答案 0 :(得分:4)

虽然可以使用sed完成,但使用awk执行此操作要简单得多:

awk -v ORS='STOP' '1' file

这会将输出记录分隔符更改为STOP,而不是默认\n

更新:以下是在OSX上执行此操作的sed版本:

sed -i.bak -n -e 'H;${x;s/\n/STOP/g;p;}' file