加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 如何解码shell中的URL编码字符串?

发布时间:2020-12-15 19:10:05 所属栏目:安全 来源:网络整理
导读:我有一个包含编码的用户代理列表的文件。 例如。: Mozilla%2F5.0%20%28Macintosh%3B%20U%3B%20Intel%20Mac%20OS%20X%2010.6%3B%20en 我想要一个可以读取此文件并使用解码字符串写入新文件的shell脚本。 Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en
我有一个包含编码的用户代理列表的文件。
例如。:
Mozilla%2F5.0%20%28Macintosh%3B%20U%3B%20Intel%20Mac%20OS%20X%2010.6%3B%20en

我想要一个可以读取此文件并使用解码字符串写入新文件的shell脚本。

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en

我一直在试图用这个例子来实现,但是迄今为止还没有工作。

$ echo -e "$(echo "%31+%32%0A%33+%34" | sed 'y/+/ /; s/%/x/g')"

我的脚本看起来像:

#!/bin/bash
for f in *.log; do
  echo -e "$(cat $f | sed 'y/+/ /; s/%/x/g')" > y.log
done
GNU awk
#!/usr/bin/awk -fn
@include "ord"
BEGIN {
  RS = "%.."
}
{
  printf RT ? $0 chr("0x" substr(RT,2)) : $0
}

要么

#!/bin/sh
awk -niord '{printf RT?$0chr("0x"substr(RT,2)):$0}' RS=%..

Using awk printf to urldecode text

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读