繁体   English   中英

如何在终端中更改文件 header

[英]How to change file header in terminal

我有一个应该是 png 的文件,但它的签名不正确,因此无法打开。 它的签名应该是 8950 4e47 0d0a 1a0a 但它是 8965 4e34 0d0a b0aa 这使它成为 a.eN4 文件。 有什么办法可以在终端中纠正这个问题吗?

您可以使用xxd来执行此操作。

我有一个 Vim 映射,但你也可以纯粹用xxd和你最喜欢的编辑器来做:

xxd <bad_file >hexdump

现在用你最喜欢的编辑器编辑hexdump 编辑十六进制部分很重要,而不是右侧的 ASCII 列,这仅供参考。 完成后,保存文件并执行以下操作:

xxd -r <hexdump >good_file

我想你可以在一个 go 中做到这一点:

xxd <bad_file | sed '1 s/8950 4e47 0d0a 1a0a/8965 4e34 0d0a b0aa/` | xxd -r >good_file

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM