I'm using awk
to urldecode some text.
If I code the string into the printf
statement like printf "%s", "\x3D"
it correctly outputs =
. The same if I have the whole escaped string as a variable.
However, if I only have the 3D
, how can I append the \x
so printf
will print the =
and not \x3D
?
I'm using busybox awk 1.4.2
and the ash
shell.
I don't know how you do this in awk, but it's trivial in perl:
echo "http://example.com/?q=foo%3Dbar" |
perl -pe 's/\+/ /g; s/%([0-9a-f]{2})/chr(hex($1))/eig'