【问题标题】:Can hexdump show me 8 columns with ASCII? [closed]hexdump 可以用 ASCII 显示 8 列吗? [关闭]
【发布时间】:2016-11-03 20:05:14
【问题描述】:

我喜欢 'hexdump -C' 视图,但我可以使用 8 字节行而不是 16 字节来获得相同的结果吗?我想要包含 ascii。


问题解答:

hexdump -e '"%08.8_Ax\n"' -e '"%08.8_ax " 8/1 " %02x"' -e '"  |" 8/1 "%_p" "|\n"' bla.bin

感谢@rici(下)的回答。

请注意竖线前面的两个空格。由于某些奇怪的原因,SO 不会渲染超过 1 个相邻的空格字符,除非在缩进的代码块中。

hexdump -e '"%08.8_Ax\n"' -e '"%08.8_ax " 8/1 " %02x"' -e '"  |" 8/1 "%_p" "|\n"' bla.bin
------------------------------------------------------------^^

【问题讨论】:

  • SO 用于编程问题,而不是 Unix 技术支持。
  • 可能是xxd
  • 见:man hexdump

标签: linux bash shell hexdump


【解决方案1】:

阅读 man 文件,您会注意到 -e 参数。向下滚动一点,我们到达format 部分。

它的解释有点混乱,但现在我们知道可以格式化 hexdump 的输出。

man 文件的末尾显示了一个模仿 -x 命令的示例 -e 命令,它与您要模仿的 -C 命令非常接近!

hexdump -e '"%07.7_ax " 8/2 "%04x " "\n"'

经过一番折腾,我们可以得到你想要的结果。

hexdump -e '"%08.8_ax " 8/1 "%02x " "|"16/1 "%_p" "|\n"'

注意:我不知道"08.8_ax " sn-p 的计数是否正确。

【讨论】:

  • 哇这么简单的语法(哈哈)。谢谢。似乎 ascii 仍然无法正确显示。你得到了 8 字节的列。我正在使用版本“来自 util-linux 2.25.2 的 hexdump”
  • 虽然很接近。 hexdump -e '"%08.8_Ax\n"' -e '"%08.8_ax " 8/1 " %02x"' -e '" |" 8/1 "%_p" "|\n"'(我会回答这个问题。评论渲染很糟糕。)
  • 好的;我不会这样回答。如图所示,格式字符串-e '" |" 中似乎缺少一个空格,竖线前应该有两个空格。
  • @rici 太酷了。哇!这就像学习一门新的编程语言。谢谢你为我节省了时间。出色的工作我的朋友。我将复制/粘贴最终命令供其他人查看,其中考虑到您缺少的空间:hexdump -e '"%08.8_Ax\n"' -e '"%08.8_ax " 8/1 " %02x"' -e '" |" 8/1 "%_p" "|\n"'
  • 粘贴正确的对我来说会很好,对吧?哈哈。好的,这是带有两个空格的最终命令:hexdump -e '"%08.8_Ax\n"' -e '"%08.8_ax " 8/1 " %02x"' -e '" |" 8/1 "%_p" "|\n"'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-02
  • 2013-03-18
  • 1970-01-01
  • 2015-08-03
  • 2015-02-19
相关资源
最近更新 更多