SED:连字符处未终止的“s”命令
SED: unterminated `s' command at hyphen
我的供应商运行以下
sed -i 's/DocumentRoot \/var\/www\/DocumentRoot \/var\/www\/app\/web-root\/\g' /etc/apache2/sites-available/000-default.conf
但是我得到了错误:sed: -e expression #1, char 69: unterminated 's' command
- 这是那个位置的连字符 (-)。我试过转义它 (\-
) 无济于事。
有什么想法吗?
你的线路:
sed -i 's/DocumentRoot \/var\/www\/DocumentRoot \/var\/www\/app\/web-root\/\g ...
^
sed 需要 s/.../.../g
您已经转义了 g
标志之前的最后一个 /
,不仅如此,您还转义了 g
标志。至少这个错误不会让你的 sed 命令消失。
更好的是,如果您的 pattern/replacement 也包含 /(slash)
,您可以选择另一个分隔符。它可以节省那几十个反斜杠:
sed -i 's#foo/bar/blah#foo1/bar1/blah1#g` file
我的供应商运行以下
sed -i 's/DocumentRoot \/var\/www\/DocumentRoot \/var\/www\/app\/web-root\/\g' /etc/apache2/sites-available/000-default.conf
但是我得到了错误:sed: -e expression #1, char 69: unterminated 's' command
- 这是那个位置的连字符 (-)。我试过转义它 (\-
) 无济于事。
有什么想法吗?
你的线路:
sed -i 's/DocumentRoot \/var\/www\/DocumentRoot \/var\/www\/app\/web-root\/\g ...
^
sed 需要 s/.../.../g
您已经转义了 g
标志之前的最后一个 /
,不仅如此,您还转义了 g
标志。至少这个错误不会让你的 sed 命令消失。
更好的是,如果您的 pattern/replacement 也包含 /(slash)
,您可以选择另一个分隔符。它可以节省那几十个反斜杠:
sed -i 's#foo/bar/blah#foo1/bar1/blah1#g` file