LINUX.ORG.RU

Как сделать, чтобы sed не плохело от символов (, {, /


0

0

Здравствуйте!

Надо мне знаменить в файле строки

namespace prog1 {

на

// namespace prog1 {

Я даю команду

sed -i 's/namespace prog1 {/// namespace prog1 {/'

и получаю ошибку на символе «{». Если пытаться без «{», получаю ошибку на символе «/»

Я пытался экранировать проблемные символы обратным слешем, двумя обратными слешами, одним прямым слешем, двумя прямыми слешами, кароче как только не извращался. Sed всеравно затыкается.

Вопрос. Как в sed эеранировать символы, которые он не может обработать в явном виде? Как должна выглядеть команда замены?


sed -i 's/namespace prog1 {/\/\/ namespace prog1 {/'
sed -i 's:namespace prog1 {:// namespace prog1 {:'
sed -i 's:namespace prog1 {:// &:'
arsi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.