hexdump: add '--one-byte-hex' format option
Signed-off-by: Tomasz Wojdat <tpwojdat@gmail.com>
This commit is contained in:
parent
e27b9ed2c0
commit
bbf5bf8a88
3 changed files with 11 additions and 1 deletions
|
@ -28,6 +28,7 @@ _hexdump_module()
|
||||||
case $cur in
|
case $cur in
|
||||||
-*)
|
-*)
|
||||||
OPTS=" --one-byte-octal
|
OPTS=" --one-byte-octal
|
||||||
|
--one-byte-hex
|
||||||
--one-byte-char
|
--one-byte-char
|
||||||
--canonical
|
--canonical
|
||||||
--two-bytes-decimal
|
--two-bytes-decimal
|
||||||
|
|
|
@ -61,6 +61,9 @@ Below, the _length_ and _offset_ arguments may be followed by the multiplicative
|
||||||
*-b*, *--one-byte-octal*::
|
*-b*, *--one-byte-octal*::
|
||||||
_One-byte octal display_. Display the input offset in hexadecimal, followed by sixteen space-separated, three-column, zero-filled bytes of input data, in octal, per line.
|
_One-byte octal display_. Display the input offset in hexadecimal, followed by sixteen space-separated, three-column, zero-filled bytes of input data, in octal, per line.
|
||||||
|
|
||||||
|
*-X*, *--one-byte-hex*::
|
||||||
|
_One-byte hexadecimal display_. Display the input offset in hexadecimal, followed by sixteen space-separated, two-column, zero-filled bytes of input data, in hexadecimal, per line.
|
||||||
|
|
||||||
*-c*, *--one-byte-char*::
|
*-c*, *--one-byte-char*::
|
||||||
_One-byte character display_. Display the input offset in hexadecimal, followed by sixteen space-separated, three-column, space-filled characters of input data per line.
|
_One-byte character display_. Display the input offset in hexadecimal, followed by sixteen space-separated, three-column, space-filled characters of input data per line.
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,7 @@ parse_args(int argc, char **argv, struct hexdump *hex)
|
||||||
|
|
||||||
static const struct option longopts[] = {
|
static const struct option longopts[] = {
|
||||||
{"one-byte-octal", no_argument, NULL, 'b'},
|
{"one-byte-octal", no_argument, NULL, 'b'},
|
||||||
|
{"one-byte-hex", no_argument, NULL, 'X'},
|
||||||
{"one-byte-char", no_argument, NULL, 'c'},
|
{"one-byte-char", no_argument, NULL, 'c'},
|
||||||
{"canonical", no_argument, NULL, 'C'},
|
{"canonical", no_argument, NULL, 'C'},
|
||||||
{"two-bytes-decimal", no_argument, NULL, 'd'},
|
{"two-bytes-decimal", no_argument, NULL, 'd'},
|
||||||
|
@ -82,12 +83,16 @@ parse_args(int argc, char **argv, struct hexdump *hex)
|
||||||
{NULL, no_argument, NULL, 0}
|
{NULL, no_argument, NULL, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
while ((ch = getopt_long(argc, argv, "bcCde:f:L::n:os:vxhV", longopts, NULL)) != -1) {
|
while ((ch = getopt_long(argc, argv, "bXcCde:f:L::n:os:vxhV", longopts, NULL)) != -1) {
|
||||||
switch (ch) {
|
switch (ch) {
|
||||||
case 'b':
|
case 'b':
|
||||||
add_fmt(hex_offt, hex);
|
add_fmt(hex_offt, hex);
|
||||||
add_fmt("\"%07.7_ax \" 16/1 \"%03o \" \"\\n\"", hex);
|
add_fmt("\"%07.7_ax \" 16/1 \"%03o \" \"\\n\"", hex);
|
||||||
break;
|
break;
|
||||||
|
case 'X':
|
||||||
|
add_fmt("\"%07.7_Ax\n\"", hex);
|
||||||
|
add_fmt("\"%07.7_ax \" 16/1 \" %02x \" \"\\n\"", hex);
|
||||||
|
break;
|
||||||
case 'c':
|
case 'c':
|
||||||
add_fmt(hex_offt, hex);
|
add_fmt(hex_offt, hex);
|
||||||
add_fmt("\"%07.7_ax \" 16/1 \"%3_c \" \"\\n\"", hex);
|
add_fmt("\"%07.7_ax \" 16/1 \"%3_c \" \"\\n\"", hex);
|
||||||
|
@ -166,6 +171,7 @@ void __attribute__((__noreturn__)) usage(void)
|
||||||
|
|
||||||
fputs(USAGE_OPTIONS, out);
|
fputs(USAGE_OPTIONS, out);
|
||||||
fputs(_(" -b, --one-byte-octal one-byte octal display\n"), out);
|
fputs(_(" -b, --one-byte-octal one-byte octal display\n"), out);
|
||||||
|
fputs(_(" -X, --one-byte-hex one-byte hexadecimal display\n"), out);
|
||||||
fputs(_(" -c, --one-byte-char one-byte character display\n"), out);
|
fputs(_(" -c, --one-byte-char one-byte character display\n"), out);
|
||||||
fputs(_(" -C, --canonical canonical hex+ASCII display\n"), out);
|
fputs(_(" -C, --canonical canonical hex+ASCII display\n"), out);
|
||||||
fputs(_(" -d, --two-bytes-decimal two-byte decimal display\n"), out);
|
fputs(_(" -d, --two-bytes-decimal two-byte decimal display\n"), out);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue