gpt4 book ai didi

linux - 用没有sed的shell替换二进制文件中的十六进制

转载 作者:太空宇宙 更新时间:2023-11-04 11:55:30 29 4
gpt4 key购买 nike

我有二进制文件,我想用 shell 脚本 0xaa,0xbb,0xcc,0xdd 替换为 0x11,0x22,0x33,0x44

我可以像 $1 一样将 0xaa,0xbb,0xcc,0xdd 放入 shell 脚本中,但是如何在没有 sed 的情况下用 0x11,0x22,0x33,0x44 替换它?

最佳答案

您可以创建一个 bash 脚本来执行文件的 hexdump,一个简单的替换,然后转换回二进制文件。

您可以使用诸如 xxd 或 hexdump 之类的应用程序来创建文件的十六进制转储。这在这里解释:convert binary data to hex in shell script?

看起来 xxd 创建了一个十六进制字符串,看起来像这样的“aabbccdd”而不是你的“0xaa,0xbb,0xcc,0xdd”,所以要小心!

要了解如何进行替换,您可以查看以下答案:Find and Replace Inside a Text File from a Bash Command

然后您可能希望将十六进制字符串转换回二进制,此处对此进行了解释:linux shell scripting: hex string to bytes

关于linux - 用没有sed的shell替换二进制文件中的十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54510069/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com