如何更改 od 和 hexdump 的默认行长度

如何更改 od 和 hexdump 的默认行长度

od有什么方法可以更改和命令的默认行长度吗hexdump?在手册页中看不到任何合适的内容。

答案1

我知道这是一个老问题,但为了完整起见,这里有一个hexdump每行打印 8 个字节的示例命令:

hexdump -e '8/1 " %02X" "\n"' <file>

有关 hexdump 格式字符串的更多信息可以在以下链接中找到:

对于od,使用--width[=BYTES]jsbillings 提到的参数。这是更多信息的手册页: https://www.man7.org/linux/man-pages/man1/od.1.html

答案2

od--width=N参数,您可以使用它来选择每行有多少字节,也许这就是您正在寻找的? hexdump有一个-e FORMATSTRING它有希望,但我从来没有玩过太多它。

答案3

我找到了制作 -C | 的方法-- 类似于规范但宽度宽

hexdump -e '"%08_ax " '$(($(tput cols 2> /dev/null || echo $COLUMNS ) / 4 - 4 ))'/1 "%02x " " |" '$(($(tput cols 2> /dev/null || echo $COLUMNS ) / 4 - 4 ))'/1 "%_p" /0 "| \n"'

只需将 '$(($(tput cols 2> /dev/null || echo $COLUMNS ) / 4 - 4 ))' 更改为您的值

相关内容