As strings entre as aspas simples são usadas literalmente pelo shell (e, portanto, não podem conter outras aspas simples, já que isso seria tratado como o fechamento de um par). Dito isto, você tem várias opções:
-
termine a sequência com aspas simples, adicione escaped (por barra invertida ou aspas duplas) aspas simples e inicie imediatamente a seguinte parte da sua string:
$ echo 'foo'\''bar' 'foo'"'"'bar' foo'bar foo'bar
-
use aspas duplas para sua string:
$ echo "foo'bar" foo'bar
isso, claro, significa que você precisa ter cuidado com o que é expandido dentro das aspas duplas pelo seu shell;
-
se você estiver usando utilitários que entendem
\xHH
ou
escaping (o GNU sed faz), você pode usar um desses (ASCII aspas simples está no ponto de código 39 (0x27), por exemplo, %code% ).\x27
nnn