我想输出一个 8GB 文件的十六进制转储结果。是否可以分段进行?如何指定有限数量的行数(我已经阅读了 man 手册,似乎对应于 -n 长度,但它没有起作用)
我想输出一个 8GB 文件的十六进制转储结果。是否可以分段进行?如何指定有限数量的行数(我已经阅读了 man 手册,似乎对应于 -n 长度,但它没有起作用)
想做这样的事情吗?即将字节 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.
$ sed -n '3701q;3600,3700p' some_file | hexdump -ve '32/1 "%02x" "\n"'
根据你将使用数据的目的,这也是一个适合编写短C程序的好选择;P