1

我需要用 "\n (双引号后跟换行符) 替换一行中的每个 \n。

这应该有效。但它什么也没做。也不报错。任何线索任何人?

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

之前,该文件包含:

line 1
line 2

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

谢谢

  • 巴尔特
4

3 回答 3

5

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

如果你想在每行的末尾添加一个字符,请使用正则$表达式:

sed -i 's/$/"/' filename
于 2013-08-30T08:41:48.517 回答
2

尝试以下操作:

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

用于$表示行尾。

于 2013-08-30T08:41:08.873 回答
1

使用 awk

awk '{$0=$0"\""}1' filename
于 2013-08-30T11:30:07.557 回答