【发布时间】:2018-09-01 09:50:40
【问题描述】:
当我运行命令时
sed -i.backup "/proxySettings['nginxCacheSize']/s/$/ . " inactive=5h"/"
我得到了错误
sed: -e expression #1, char 40: unterminated `s' command
知道怎么解决吗?
【问题讨论】:
当我运行命令时
sed -i.backup "/proxySettings['nginxCacheSize']/s/$/ . " inactive=5h"/"
我得到了错误
sed: -e expression #1, char 40: unterminated `s' command
知道怎么解决吗?
【问题讨论】:
首先,让我们暂时不考虑-i 标志,稍微简化一下命令:
sed "/'foo']/s/$/ "bar"/"
您的表达式中有单引号和双引号,sed 对命令的开始和结束位置感到困惑。正如所写,它似乎是这样的:
sed "/'foo']/s/$/ "
(后面有一些乱码),它显然有一个未终止的s 命令。我们可以使用单引号而不是双引号来标记命令,但是在foof 周围使用单引号时我们会遇到同样的问题。所以我们用反斜杠转义那些内部双引号:
sed "/'foo']/s/$/ \"bar\"/"
【讨论】: