У меня очень большой sql-файл, который я не могу открыть в редакторе gui. Мне нужно заменить строку 'user1' @ 'localhost' (обратите внимание на символ) 'user2' @ 'localhost', но у меня возникают проблемы с поиском правильного синтаксиса для команды sed.
Я могу получить строки, которые нужно заменить, используя следующую команду grep:
grep -w 'user1`@`localhost'
Любая помощь, пожалуйста? Спасибо.
Обертка вашей команды 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