AWK内的URL解码
发布时间:2020-12-13 23:08:22 所属栏目:Linux 来源:网络整理
导读:参见英文答案 Using awk printf to urldecode text????????????????????????????????????5个 我文件中的一列是url编码的,我必须解码该列,并需要根据列内的值执行一些操作.有什么方法可以解码awk中的那列吗? 解决方法 你必须根据你的文件格式进行调整,但基本
参见英文答案 >
Using awk printf to urldecode text????????????????????????????????????5个
我文件中的一列是url编码的,我必须解码该列,并需要根据列内的值执行一些操作.有什么方法可以解码awk中的那列吗? 解决方法
你必须根据你的文件格式进行调整,但基本原则在这里(用GNU Awk 3.1.7测试):
sh$echo 'Hello%2C%20world%20%21' | awk ' { for (i = 0x20; i < 0x40; ++i) { repl = sprintf("%c",i); if ((repl == "&") || (repl == "")) repl = "" repl; gsub(sprintf("%%%02X",i),repl); gsub(sprintf("%%%02x",repl); } print } ' Hello,world ! 如果你有gawk,你可以将它包装在一个函数中(贷记到brendanh in a comment below): function urlDecode(url) { for (i = 0x20; i < 0x40; ++i) { repl = sprintf("%c",i); if ((repl == "&") || (repl == "")) { repl = "" repl; } url = gensub(sprintf("%%%02X",repl,"g",url); url = gensub(sprintf("%%%02x",url); } return url; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |