Replace 更改行时使用sed分隔符

Replace 更改行时使用sed分隔符,replace,sed,delimiter,Replace,Sed,Delimiter,我使用以下命令更改文件中的一行: sed -i '\%oldword% c\ newline' filename 我知道如何更改旧单词的分隔符。但换行符中也有反斜杠符号。是否有办法更改换行符内容的分隔符,以便可以转义反斜杠符号 一个涉及反斜杠转义的示例,将文件中的本地\u地址文本替换为根/usr/dict2/文件 为了让它工作,我需要避开所有的反斜杠 sed -i '\%local_address% c\ //root//usr//dict2//file' file 有没有一种简洁的方法可以

我使用以下命令更改文件中的一行:

sed -i '\%oldword% c\ newline' filename
我知道如何更改
旧单词的分隔符。但换行符中也有反斜杠符号。是否有办法更改换行符内容的分隔符,以便可以转义反斜杠符号

一个涉及反斜杠转义的示例,将文件中的
本地\u地址
文本替换为
根/usr/dict2/文件

为了让它工作,我需要避开所有的反斜杠

sed -i '\%local_address% c\ //root//usr//dict2//file' file
有没有一种简洁的方法可以做到这一点?

这可能适合您(GNU-sed):


使用
\
\
包含在
c
a
i
命令中。

考虑将问题的口头描述更改为问题的简单编码示例(带有错误消息),我们可以将其复制/粘贴到本地cmd行。祝你好运。我更新了一个示例。你为什么不使用
s@original_String@newString@
sed替换的形式?祝你好运。我需要替换一行,我只知道这行的前几个字符串。所以我必须改变路线。
sed '\%oldword%c\line\
line two with a \\ in it\
line three\
line four' file