【问题标题】:How to hexdump large files如何十六进制转储大文件
【发布时间】:2012-11-14 23:04:22
【问题描述】:

我想输出一个 8go 文件的 hexdump 结果。可以一块一块地做吗?如何指定有限的行数(我已经阅读了手册页,它似乎对应于 -n 长度,但它不起作用)

【问题讨论】:

  • 我怀疑您真正需要的是文件的 ASCII 十六进制转储 - 最终结果将超过原始大小的 3 倍。您需要的是找到一个不错的十六进制编辑器,它允许您查看/搜索/操作文件并为您提供十六进制转储显示。如果您将问题退后一步并询问您想通过十六进制转储 8GB 文件来完成什么,您可能会得到更多有用的答案和解决方案,而不会导致卡在 30GB 难以搜索的范围内文本。

标签: hexdump


【解决方案1】:

这样的?转储,即字节 3600 到 3700:

$ hexdump -n 100 -s 3600 -v -e '32/1 "%02x" "\n"' some_file

-s 3600 ; search to offset 3600 before starting dump.
-n 100 ; dump 100 bytes.
-e '32/1 "%02x" "\n"' ; dump 32 bytes pr. line and print by 1 as zero padded hex.

如果你需要 line 偏移而不是字节,你可能不得不求助于例如sed:

$ sed -n '3701q;3600,3700p' some_file | hexdump -ve '32/1 "%02x" "\n"'

这取决于你将要使用的数据,它也是一个简短的 C 程序的好候选;P

【讨论】:

    【解决方案2】:

    如果您想要一个文件的十六进制转储,就像您在 debug.com 中一样,那么您可以执行以下操作:

    Debug 不允许您打开大小超过 64 K 的文件,但您可以在 Android 手机上使用一些软件。 Google Play 商店中可用的此类软件之一是“Hex Editor”。我也可以在那个“十六进制编辑器”中打开一个 46 MB 的文件。我可以看到十六进制转储,就像我可以在 debug.com 中看到一个文件一样

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-19
      • 2014-11-11
      • 1970-01-01
      • 1970-01-01
      • 2014-01-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多