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
|
||||
-*)
|
||||
OPTS=" --one-byte-octal
|
||||
--one-byte-hex
|
||||
--one-byte-char
|
||||
--canonical
|
||||
--two-bytes-decimal
|
||||
|
|
|
@ -61,6 +61,9 @@ Below, the _length_ and _offset_ arguments may be followed by the multiplicative
|
|||
*-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.
|
||||
|
||||
*-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*::
|
||||
_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[] = {
|
||||
{"one-byte-octal", no_argument, NULL, 'b'},
|
||||
{"one-byte-hex", no_argument, NULL, 'X'},
|
||||
{"one-byte-char", no_argument, NULL, 'c'},
|
||||
{"canonical", no_argument, NULL, 'C'},
|
||||
{"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}
|
||||
};
|
||||
|
||||
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) {
|
||||
case 'b':
|
||||
add_fmt(hex_offt, hex);
|
||||
add_fmt("\"%07.7_ax \" 16/1 \"%03o \" \"\\n\"", hex);
|
||||
break;
|
||||
case 'X':
|
||||
add_fmt("\"%07.7_Ax\n\"", hex);
|
||||
add_fmt("\"%07.7_ax \" 16/1 \" %02x \" \"\\n\"", hex);
|
||||
break;
|
||||
case 'c':
|
||||
add_fmt(hex_offt, 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(_(" -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, --canonical canonical hex+ASCII 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