如何解决Bash:如何解码和编码特定的 URL 字符?
这个 awk 命令可以很好地一次性解码所有字符:
awk -niord '{printf RT?$0chr("0x"substr(RT,2)):$0}' RS=%..
但我需要命令来解码和编码特定的 URL 字符。例如,我只需要解码 %3d
和 %26
,反之亦然,对文件中的 =
和 &
进行编码。
https%3a%2f%2fgoogle.com%2fsearch%3fq%3dstackoverflow%26param%3dvalue
解码所需的输出
https%3a%2f%2fgoogle.com%2fsearch%3fq=stackoverflow¶m=value
所需的编码输出
https://google.com/search?q%3dstackoverflow%26param%3dvalue
更新
虽然可以使用 sed 's/%3d/\=/g' | sed 's/%26/\&/g'
来替换字符,但我仍在寻找一种方法来一次解码或编码某些特定字符,(将它们放在一个 sed 或 awk 或其他任何东西中,而不是使用两个 sed 命令)。欢迎使用 sed 以外的工具。
我需要将 %3d
替换为 =
,将 %26
替换为 &
,反之亦然。
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。