我正在尝试使用(BSD)/etc/gettytab
修改我的P|Pc|Pc console:\
:ht:np:sp#9600:
。目标是修改此条目:
P|Pc|Pc console:\
:ht:np:sp#115200:\
:cl=\E[H\E[2J:
到这个条目:
# sed -in ' /P|Pc|Pc console/,/^#/ s/9600:/115200:\\\\
:cl=\E[H\E[2J:/' /etc/gettytab
如果我发出以下命令(它在两行上),它可以很好地工作。
sed: 1: " /P|Pc|Pc console/,/^#/ ...": unescaped newline inside substitute pattern
但是,如果我在脚本中使用完全相同的命令(字面上复制/粘贴它),我会收到一条错误消息:
/
正在搜索,我发现了这篇帖子:unescaped newline inside substitute pattern,其中讨论了{{1}},但我的模式中有这个。
如果有人可以帮助我做错了什么,我会非常感激。
答案 0 :(得分:2)
在您的脚本中,您使用> z
AA BB CC
2.3 1.5 202.4
2.1 1.0 200.8
2.1 1.0 208.1
转义换行符,然后转义要嵌入到输出中的\
,以便按字面解释。如果我的数学是正确的,那就是三,而不是四个反斜杠。
\