shell下解码url

封装了一下,有需要的拿走

function url_decode()
{
  local url=$1
  echo $url |
  awk 'BEGIN {
  for(i=0;i<10;i++)
    hex[i]=i;
    hex["A"]=hex["a"]=10;
    hex["B"]=hex["b"]=11;
    hex["C"]=hex["c"]=12;
    hex["D"]=hex["d"]=13;
    hex["E"]=hex["e"]=14;
    hex["F"]=hex["f"]=15;
  }
  {
    gsub(/+/," ");
    i=$0;
    while(match(i,/%../)) {
      if(RSTART>1);
      printf"%s",substr(i,1,RSTART-1);
      printf"%c",hex[substr(i,RSTART+1,1)]*16+hex[substr(i,RSTART+2,1)];
      i=substr(i,RSTART+RLENGTH);
    }
    print i;
  }' -
}


url="http%3A%2F%2Fclub.fir.im%2Ftopic%2F546abf22ba23eab90aa29c99&amp;aid=1619&amp;nid=51"
url_decode $url

About the Author

今生在线

今生在线

发表评论

电子邮件地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据