Команда sed заменяет текст символом

У меня очень большой sql-файл, который я не могу открыть в редакторе gui. Мне нужно заменить строку 'user1' @ 'localhost' (обратите внимание на символ) 'user2' @ 'localhost', но у меня возникают проблемы с поиском правильного синтаксиса для команды sed.

Я могу получить строки, которые нужно заменить, используя следующую команду grep:

grep -w 'user1`@`localhost'

Любая помощь, пожалуйста? Спасибо.

1
задан 24 January 2014 в 22:00

1 ответ

Обертка вашей команды sed вокруг речевых указателей будет работать:

adder@adamj-T1500:~$ cat sed_test user1'@'localhost adder@adamj-T1500:~$ sed -i -e "s/user1'@'localhost/user2'@'localhost/" sed_test adder@adamj-T1500:~$ cat sed_test user2'@'localhost

Существует несколько разных способов избежать одиночной кавычки для команды sed, есть ряд вопросов с ответами на stackoverflow :

https://stackoverflow.com/questions/9112157/escaping-single-quotes

https://stackoverflow.com/questions/9112157/escaping-single -quotes

https://stackoverflow.com/questions/7517632/how-do-i-escape-double-and-single-quotes-in-sed-bash

0
ответ дан 24 May 2018 в 20:24

Другие вопросы по тегам:

Похожие вопросы: