Вы не можете использовать одиночную кавычку в программе awk, обозначенной одинарными кавычками.
Одним из способов решения этой проблемы является присвоение символа кавычки переменной awk с помощью -v
:
echo '%27SWAY%27'| awk -v q="'" '{ gsub("%27",q,$1); print $1 }'
'SWAY'
Другое - использование escape-последовательности восьмеричного символа \047
:
$ echo '%27SWAY%27'| awk '{ gsub("%27","\047",$1); print $1 }'
'SWAY'
Наконец, вы можете поместить программу awk в отдельный файл, и в этом случае одиночная кавычка не вызывает проблем:
$ cat a.awk
{ gsub("%27","'",$1); print $1 }
$ echo '%27SWAY%27'| awk -f a.awk
'SWAY'