当我运行命令
sed -i.backup "/proxySettings['nginxCacheSize']/s/$/ . " inactive=5h"/"
我收到了错误
sed:-e expression#1,char 40:unterminated`s'命令
知道怎么解决吗?
首先,让我们暂时离开-i
标志,并简化命令:
sed "/'foo']/s/$/ "bar"/"
你的表达式中有单引号和双引号,而sed
对命令的开始和结束位置感到困惑。如上所述,它似乎是这样的:
sed "/'foo']/s/$/ "
(之后有一些乱码),显然有一个未终止的s
命令。我们可以使用单引号而不是双引号来标记命令,但是然后我们在foof
周围的单引号上遇到了同样的问题。所以我们用反斜杠来逃避那些内部双引号:
sed "/'foo']/s/$/ \"bar\"/"