Обертка вашей команды 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