有一些问题,有sed插入双字符序列 \ n 。 (我使用bash来创建一些期望的脚本)。我在替换模式中尝试的任何内容最终都是一个实际的换行符。
我试过了:
sed s/<string>/'\\\\n'/
sed s/<string>/\\\\n/
sed s/<string>/\\n/
几乎任何有或没有任何意义的排列。
我需要它来使用安装在Mac上的bash和sed。
答案 0 :(得分:1)
sed s/<string>/'\\n'/
适用于sed
的Lunix(GNU)和OS X(bsd)版本:
$ echo aXb | sed s/X/'\\n'/
a\nb
sed s/<string>/\\\\n/
也可以。当bash看到\\
(在引号之外)时,它会将其视为单个转义反斜杠,因此\
实际上会传递给命令。当它看到\\\\n
时,只有两个转义后的反斜杠后跟“n”,所以它将\\n
传递给命令。然后,当sed
看到\\n
时,它还会将其视为转义后的反斜杠,后跟“n”,因此替换字符串最后为\n
。由于“n”在完成任何已完成的转义序列之后总是,因此它只被视为替换字符串中的另一个字符。
答案 1 :(得分:0)
纯代码,单引号
sed 's/Pattern/\\n/' YourFile
Shell解释,双引号
sed "s/Pattern/\\\\n/" YourFile