You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UNIX环境下替换文件十六进制值并正确写回的技术咨询

解决UNIX下UTF-8文件末尾十六进制字节替换问题

嘿,我来帮你搞定这个十六进制替换的事儿!你已经用xxd查看文件末尾了,接下来咱们一步步把末尾的25换成15,并且安全地写回文件:

第一步:先备份原文件(重要!)

操作前先备份,避免意外搞坏文件:

cp example_2018-02-02-14-51-47_US.txt example_2018-02-02-14-51-47_US_backup.txt

方法一:手动编辑十六进制文本(适合可视化确认)

  1. 把二进制文件转成可读的十六进制文本文件:
xxd example_2018-02-02-14-51-47_US.txt > temp.hex
  1. 用文本编辑器(比如vim、nano)打开temp.hex,找到文件最后一行的十六进制部分末尾的25,把它改成15。

    注意:只修改十六进制区域的字符,别碰前面的偏移量和后面的ASCII注释部分!

  2. 把修改后的十六进制文本转回二进制文件:
xxd -r temp.hex modified_example.txt
  1. 验证结果:用xxd查看修改后的文件末尾,确认替换成功:
xxd modified_example.txt | tail -1

方法二:用sed自动化替换(更高效)

如果不想手动编辑,可以直接用管道命令完成替换,一步到位:

xxd example_2018-02-02-14-51-47_US.txt | sed '$s/25$/15/' | xxd -r > modified_example.txt
  • xxd:把原文件转成十六进制文本输出
  • sed '$s/25$/15/':定位到最后一行($),把行尾的25替换成15
  • xxd -r:把修改后的十六进制文本转回二进制
  • 最后输出到modified_example.txt

验证文件有效性

因为原文件是UTF-8编码,替换字节后记得确认文件编码是否正常:

file modified_example.txt

输出应该显示类似modified_example.txt: UTF-8 Unicode text,说明文件还是有效的UTF-8格式。

如果确认修改没问题,你可以把modified_example.txt替换原文件:

mv modified_example.txt example_2018-02-02-14-51-47_US.txt

内容的提问来源于stack exchange,提问作者Defcon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:14:05