@@ -30,7 +30,7 @@ OPTIONS
30
30
notation. Thus -c8, -c 8, -c 010 and -cols 8 are all equivalent.
31
31
32
32
-a | -autoskip
33
- toggle autoskip: A single '*' replaces nul-lines. Default off.
33
+ Toggle autoskip: A single '*' replaces nul-lines. Default off.
34
34
35
35
-b | -bits
36
36
Switch to bits (binary digits) dump, rather than hexdump. This
@@ -41,9 +41,13 @@ OPTIONS
41
41
mode.
42
42
43
43
-c cols | -cols cols
44
- format <cols> octets per line. Default 16 (-i: 12, -ps: 30, -b:
44
+ Format <cols> octets per line. Default 16 (-i: 12, -ps: 30, -b:
45
45
6). Max 256.
46
46
47
+ -C | -capitalize
48
+ Capitalize variable names in C include file style, when using
49
+ -i.
50
+
47
51
-E | -EBCDIC
48
52
Change the character encoding in the righthand column from ASCII
49
53
to EBCDIC. This does not change the hexadecimal representation.
@@ -52,105 +56,105 @@ OPTIONS
52
56
-e Switch to little-endian hexdump. This option treats byte groups
53
57
as words in little-endian byte order. The default grouping of 4
54
58
bytes may be changed using -g. This option only applies to hex‐
55
- dump, leaving the ASCII (or EBCDIC) representation unchanged.
59
+ dump, leaving the ASCII (or EBCDIC) representation unchanged.
56
60
The command line switches -r, -p, -i do not work with this mode.
57
61
58
62
-g bytes | -groupsize bytes
59
- separate the output of every <bytes> bytes (two hex characters
63
+ Separate the output of every <bytes> bytes (two hex characters
60
64
or eight bit-digits each) by a whitespace. Specify -g 0 to sup‐
61
65
press grouping. <Bytes> defaults to 2 in normal mode, 4 in lit‐
62
- tle-endian mode and 1 in bits mode. Grouping does not apply to
66
+ tle-endian mode and 1 in bits mode. Grouping does not apply to
63
67
postscript or include style.
64
68
65
69
-h | -help
66
- print a summary of available commands and exit. No hex dumping
70
+ Print a summary of available commands and exit. No hex dumping
67
71
is performed.
68
72
69
73
-i | -include
70
- output in C include file style. A complete static array defini‐
71
- tion is written (named after the input file), unless xxd reads
74
+ Output in C include file style. A complete static array defini‐
75
+ tion is written (named after the input file), unless xxd reads
72
76
from stdin.
73
77
74
78
-l len | -len len
75
- stop after writing <len> octets.
79
+ Stop after writing <len> octets.
76
80
77
81
-o offset
78
- add <offset> to the displayed file position.
82
+ Add <offset> to the displayed file position.
79
83
80
84
-p | -ps | -postscript | -plain
81
- output in postscript continuous hexdump style. Also known as
85
+ Output in postscript continuous hexdump style. Also known as
82
86
plain hexdump style.
83
87
84
88
-r | -revert
85
- reverse operation: convert (or patch) hexdump into binary. If
86
- not writing to stdout, xxd writes into its output file without
89
+ Reverse operation: convert (or patch) hexdump into binary. If
90
+ not writing to stdout, xxd writes into its output file without
87
91
truncating it. Use the combination -r -p to read plain hexadeci‐
88
92
mal dumps without line number information and without a particu‐
89
- lar column layout. Additional Whitespace and line-breaks are
93
+ lar column layout. Additional Whitespace and line-breaks are
90
94
allowed anywhere.
91
95
92
96
-seek offset
93
97
When used after -r: revert with <offset> added to file positions
94
98
found in hexdump.
95
99
96
100
-s [+][-]seek
97
- start at <seek> bytes abs. (or rel.) infile offset. + indicates
98
- that the seek is relative to the current stdin file position
101
+ Start at <seek> bytes abs. (or rel.) infile offset. + indicates
102
+ that the seek is relative to the current stdin file position
99
103
(meaningless when not reading from stdin). - indicates that the
100
- seek should be that many characters from the end of the input
104
+ seek should be that many characters from the end of the input
101
105
(or if combined with +: before the current stdin file position).
102
106
Without -s option, xxd starts at the current file position.
103
107
104
- -u use upper case hex letters. Default is lower case.
108
+ -u Use upper case hex letters. Default is lower case.
105
109
106
110
-v | -version
107
- show version string.
111
+ Show version string.
108
112
109
113
CAVEATS
110
114
xxd -r has some builtin magic while evaluating line number information.
111
- If the output file is seekable, then the linenumbers at the start of
112
- each hexdump line may be out of order, lines may be missing, or over‐
113
- lapping. In these cases xxd will lseek(2) to the next position. If the
114
- output file is not seekable, only gaps are allowed, which will be
115
+ If the output file is seekable, then the linenumbers at the start of
116
+ each hexdump line may be out of order, lines may be missing, or over‐
117
+ lapping. In these cases xxd will lseek(2) to the next position. If the
118
+ output file is not seekable, only gaps are allowed, which will be
115
119
filled by null-bytes.
116
120
117
121
xxd -r never generates parse errors. Garbage is silently skipped.
118
122
119
- When editing hexdumps, please note that xxd -r skips everything on the
123
+ When editing hexdumps, please note that xxd -r skips everything on the
120
124
input line after reading enough columns of hexadecimal data (see option
121
- -c). This also means, that changes to the printable ascii (or ebcdic)
122
- columns are always ignored. Reverting a plain (or postscript) style
123
- hexdump with xxd -r -p does not depend on the correct number of col‐
124
- umns. Here anything that looks like a pair of hex-digits is inter‐
125
+ -c). This also means, that changes to the printable ascii (or ebcdic)
126
+ columns are always ignored. Reverting a plain (or postscript) style
127
+ hexdump with xxd -r -p does not depend on the correct number of col‐
128
+ umns. Here anything that looks like a pair of hex-digits is inter‐
125
129
preted.
126
130
127
131
Note the difference between
128
132
% xxd -i file
129
133
and
130
134
% xxd -i < file
131
135
132
- xxd -s +seek may be different from xxd -s seek, as lseek(2) is used to
136
+ xxd -s +seek may be different from xxd -s seek, as lseek(2) is used to
133
137
"rewind" input. A '+' makes a difference if the input source is stdin,
134
- and if stdin's file position is not at the start of the file by the
135
- time xxd is started and given its input. The following examples may
138
+ and if stdin's file position is not at the start of the file by the
139
+ time xxd is started and given its input. The following examples may
136
140
help to clarify (or further confuse!)...
137
141
138
- Rewind stdin before reading; needed because the `cat' has already read
142
+ Rewind stdin before reading; needed because the `cat' has already read
139
143
to the end of stdin.
140
144
% sh -c "cat > plain_copy; xxd -s 0 > hex_copy" < file
141
145
142
- Hexdump from file position 0x480 (=1024+128) onwards. The `+' sign
146
+ Hexdump from file position 0x480 (=1024+128) onwards. The `+' sign
143
147
means "relative to the current position", thus the `128' adds to the 1k
144
148
where dd left off.
145
- % sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +128 > hex_snippet"
149
+ % sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +128 > hex_snippet"
146
150
< file
147
151
148
152
Hexdump from file position 0x100 ( = 1024-768) on.
149
153
% sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +-768 > hex_snippet"
150
154
< file
151
155
152
- However, this is a rare situation and the use of `+' is rarely needed.
153
- The author prefers to monitor the effect of xxd with strace(1) or
156
+ However, this is a rare situation and the use of `+' is rarely needed.
157
+ The author prefers to monitor the effect of xxd with strace(1) or
154
158
truss(1), whenever -s is used.
155
159
156
160
EXAMPLES
@@ -194,7 +198,7 @@ EXAMPLES
194
198
% xxd -s 0x36 -l 13 -c 13 xxd.1
195
199
0000036: 3235 7468 204d 6179 2031 3939 36 25th May 1996
196
200
197
- Create a 65537 byte file with all bytes 0x00, except for the last one
201
+ Create a 65537 byte file with all bytes 0x00, except for the last one
198
202
which is 'A' (hex 0x41).
199
203
% echo "010000: 41" | xxd -r > file
200
204
@@ -204,7 +208,7 @@ EXAMPLES
204
208
*
205
209
000fffc: 0000 0000 40 ....A
206
210
207
- Create a 1 byte file containing a single 'A' character. The number
211
+ Create a 1 byte file containing a single 'A' character. The number
208
212
after '-r -s' adds to the linenumbers found in the file; in effect, the
209
213
leading bytes are suppressed.
210
214
% echo "010000: 41" | xxd -r -s -0x10000 > file
@@ -245,7 +249,7 @@ SEE ALSO
245
249
uuencode(1), uudecode(1), patch(1)
246
250
247
251
WARNINGS
248
- The tools weirdness matches its creators brain. Use entirely at your
252
+ The tools weirdness matches its creators brain. Use entirely at your
249
253
own risk. Copy files. Trace it. Become a wizard.
250
254
251
255
VERSION
0 commit comments