URI:
       urlencode - scripts - various script and utils
  HTML git clone git://z3bra.org/scripts
   DIR Log
   DIR Files
   DIR Refs
       ---
       urlencode (525B)
       ---
            1 #!/bin/sh
            2 
            3 usage() {
            4         echo "usage: $(basename $0) [-hde]" >&2
            5 }
            6 
            7 urlencode() {
            8 sed 's/\n$//'|od -t d1 | awk '{
            9         for (i = 2; i <= NF; i++) {
           10                 printf(($i>=48 && $i<=57) || ($i>=65 && $i<=90) || ($i>=97 && $i<=122) ||
           11                         $i==45 || $i==46 || $i==95 || $i==126 ?
           12                         "%c" : "%%%02x", $i)
           13         }
           14 }'
           15 echo
           16 }
           17 
           18 urldecode() {
           19         perl -pe 's/\+/ /g; s/%([0-9a-f]{2})/chr(hex($1))/eig'
           20 }
           21 
           22 fn=$(basename $0)
           23 
           24 while getopts 'hde' OPT; do
           25         case $OPT in
           26         e) fn=urlencode;;
           27         d) fn=urldecode;;
           28         h) usage; exit 0;;
           29         *) usage; exit 1;;
           30         esac
           31 done
           32 
           33 $fn