如何将hexdump
中打印的列数从默认值16(更改为21)更改为
或者我可以在哪里找到更改 hexdump
中使用的默认格式字符串以修改其中使用的数字的位置?
答案 0 :(得分:6)
似乎可以获得默认格式:
hexdump -e '"%07.7_Ax\n"' -e '"%07.7_ax " 8/2 "%04x " "\n"'
来自man hexdump
:
Implement the -x option:
"%07.7_Ax\n"
"%07.7_ax " 8/2 "%04x " "\n"
如果您想了解hexdump
的格式,您必须阅读手册,但这里只需要简单介绍以前的格式:
第一部分%07.7_Ax\n
是显示仅包含偏移量的最后一行的部分。根据手册:
_a[dox] Display the input offset, cumulative across input files, of the
next byte to be displayed. The appended characters d, o, and x
specify the display base as decimal, octal or hexadecimal
respectively.
_A[dox] Identical to the _a conversion string except that it is only
performed once, when all of the input data has been processed.
"%07.7_ax "
部分。 8/2
表示 8次迭代,以下为2个字节,即"%04x "
。最后,在这之后,我们有一个换行符:"\n"
。我不确定你想要的21个字节,也许这样做:
hexdump -e '"%07.7_Ax\n"' -e '"%07.7_ax " 21/1 "%02x " "\n"'
如果需要,你知道如何摆脱偏移:
hexdump -e '21/1 "%02x " "\n"'