sed:-e expression#1,char 40:unterminated`s'命令

问题描述 投票:0回答:1

当我运行命令

sed -i.backup "/proxySettings['nginxCacheSize']/s/$/ . " inactive=5h"/"

我收到了错误

sed:-e expression#1,char 40:unterminated`s'命令

知道怎么解决吗?

unix centos command
1个回答
0
投票

首先,让我们暂时离开-i标志,并简化命令:

sed "/'foo']/s/$/ "bar"/"

你的表达式中有单引号和双引号,而sed对命令的开始和结束位置感到困惑。如上所述,它似乎是这样的:

sed "/'foo']/s/$/ "

(之后有一些乱码),显然有一个未终止的s命令。我们可以使用单引号而不是双引号来标记命令,但是然后我们在foof周围的单引号上遇到了同样的问题。所以我们用反斜杠来逃避那些内部双引号:

sed "/'foo']/s/$/ \"bar\"/"
© www.soinside.com 2019 - 2024. All rights reserved.