小编use*_*717的帖子

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

我有一个文件,其中包含编码的用户代理列表.例如:

Mozilla%2F5.0%20%28Macintosh%3B%20U%3B%20Intel%20Mac%20OS%20X%2010.6%3B%20en
Run Code Online (Sandbox Code Playgroud)

我想要一个shell脚本,它可以读取该文件并写入带有解码字符串的新文件.

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en
Run Code Online (Sandbox Code Playgroud)

我一直在尝试使用这个例子来实现它,但到目前为止还没有工作.

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

我的脚本看起来像:

#!/bin/bash
for f in *.log; do
  echo -e "$(cat $f | sed 'y/+/ /; s/%/\x/g')" > y.log
done
Run Code Online (Sandbox Code Playgroud)

bash shell awk sed urldecode

37
推荐指数
12
解决办法
5万
查看次数

标签 统计

awk ×1

bash ×1

sed ×1

shell ×1

urldecode ×1