sed没有按预期替代

时间:2013-08-30 08:39:13

标签: regex sed

我需要用“\ n(双引号后跟换行符)替换每行\ n。

这应该有效。但它没有任何作用。报告也没有错误。有人提出任何线索吗?

sed -i 's/\n/\"\n/' filename

之前,该文件包含:

line 1
line 2

之后,它包含完全相同的内容。

由于

  • 波尔特

3 个答案:

答案 0 :(得分:5)

一行不能包含\n,因为\n是行之间的分隔符。 sed一次只能在一行上运行,并且新行不包含在其中。

如果您想在每行结尾前放置一个字符,请使用$正则表达式:

sed -i 's/$/"/' filename

答案 1 :(得分:2)

请尝试以下操作:

sed -i 's/$/"/' filename

使用$表示行尾。

答案 2 :(得分:1)

使用awk

awk '{$0=$0"\""}1' filename