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

前端之家收集整理的这篇文章主要介绍了bash – 如何解码shell中的URL编码字符串?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个包含编码的用户代理列表的文件
例如。:
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

猜你在找的Bash相关文章