如何在 Linux 上将十六进制字符串转换为字节字符串

pla*_*a33 2 linux string hex byte

我想使用 bash 脚本或命令在 Linux 上将十六进制字符串转换为字节字符串。例如,我想将此十六进制字符串(即 00124a5b)转换为字节字符串(即 \x00\x12\x4a\x5b)

谢谢。

等离子33

小智 5

您可以使用以下搜索替换功能sed

echo "00124a5b" | sed 's/../\\x&/g'
\x00\x12\x4a\x5b
Run Code Online (Sandbox Code Playgroud)

这两个点搜索流中的任意两个字符。会将\\x&匹配项替换为\x后面跟着匹配项的 。在末尾添加 g 告诉 sed 继续搜索/替换。

我会查看 sed 的教程: http: //www.grymoire.com/Unix/Sed.html 该站点上还有其他几个教程,提供其他有用的命令。