2016-03-02 53 views
0

命令我跑在我的供應者以下SED:未結束的'S'的連字符

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 - 這是一個連字符 - 在那個位置()。我試圖逃脫它(\-)無濟於事。

任何想法?

回答

1

您行:

sed -i 's/DocumentRoot \/var\/www\/DocumentRoot \/var\/www\/app\/web-root\/\g ... 
                     ^

SED需求s/.../.../g你躲過了最後/以前g標誌,多的是,你逃脫g標誌了。至少這個錯誤不會讓你的sed命令去。

還有什麼更好的是,你選擇另一個分隔符,如果你的模式/替換也包含/(slash)。它可以節省那些幾十個反斜槓:

sed -i 's#foo/bar/blah#foo1/bar1/blah1#g` file