Encore plus d'outils ici : "Text Processing Commands" du fameux
"Advanced Bash-Scripting Guide" sur TLDP :
http://tldp.org/LDP/abs/html/textproc.html
Sinon peut être un moyen de faire ca avec sed ? ou tr ?
s/([^\w()'*~!.-])/sprintf '%%%02x', ord $1/eg; # encode
s/%([A-Fa-f\d]{2})/chr hex $1/eg; # decode
s/%([[:xdigit:]]{2})/chr hex $1/eg; # same thing
(à la base c'est du Perl
http://faq.perl.org/perlfaq9.html#How_do_I_decode_or_c)