odとhexdumpのデフォルトの行長を変更する方法

odとhexdumpのデフォルトの行長を変更する方法

odそしてコマンドのデフォルトの行の長さを変更する方法はありますかhexdump?マニュアルページで適切なアイテムを見ることはできません。

答え1

これは古い質問であることを知っていますが、完全性を期すために、次は1hexdump行に8バイトを印刷するコマンドの例です。

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

hexdump 形式の文字列の詳細については、次のリンクを参照してください。

これを行うには、jsbillingsで述べたパラメータをod使用してください。--width[=BYTES]詳しくはマンページをご覧ください。 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 ))' を値に変更してください。

関連情報