| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .TH XXD 1 "August 1996" "Manual page for xxd" | 
					
						
							|  |  |  | .\" | 
					
						
							|  |  |  | .\" 21st May 1996 | 
					
						
							|  |  |  | .\" Man page author: | 
					
						
							|  |  |  | .\"    Tony Nugent <tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au> | 
					
						
							|  |  |  | .\"    Changes by Bram Moolenaar <Bram@vim.org> | 
					
						
							|  |  |  | .SH NAME | 
					
						
							|  |  |  | .I xxd | 
					
						
							|  |  |  | \- make a hexdump or do the reverse. | 
					
						
							|  |  |  | .SH SYNOPSIS | 
					
						
							|  |  |  | .B xxd | 
					
						
							|  |  |  | \-h[elp] | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | .B xxd | 
					
						
							|  |  |  | [options] [infile [outfile]] | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | .B xxd | 
					
						
							|  |  |  | \-r[evert] [options] [infile [outfile]] | 
					
						
							|  |  |  | .SH DESCRIPTION | 
					
						
							|  |  |  | .I xxd | 
					
						
							|  |  |  | creates a hex dump of a given file or standard input. | 
					
						
							|  |  |  | It can also convert a hex dump back to its original binary form. | 
					
						
							|  |  |  | Like | 
					
						
							| 
									
										
										
										
											2005-03-18 20:25:31 +00:00
										 |  |  | .BR uuencode (1) | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | and | 
					
						
							| 
									
										
										
										
											2005-03-18 20:25:31 +00:00
										 |  |  | .BR uudecode (1) | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | it allows the transmission of binary data in a `mail-safe' ASCII representation, | 
					
						
							|  |  |  | but has the advantage of decoding to standard output. | 
					
						
							|  |  |  | Moreover, it can be used to perform binary file patching. | 
					
						
							|  |  |  | .SH OPTIONS | 
					
						
							|  |  |  | If no | 
					
						
							|  |  |  | .I infile | 
					
						
							|  |  |  | is given, standard input is read. | 
					
						
							|  |  |  | If | 
					
						
							|  |  |  | .I infile | 
					
						
							|  |  |  | is specified as a | 
					
						
							|  |  |  | .RB \` \- ' | 
					
						
							|  |  |  | character, then input is taken from standard input. | 
					
						
							|  |  |  | If no | 
					
						
							|  |  |  | .I outfile | 
					
						
							|  |  |  | is given (or a | 
					
						
							|  |  |  | .RB \` \- ' | 
					
						
							|  |  |  | character is in its place), results are sent to standard output. | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | Note that a "lazy" parser is used which does not check for more than the first | 
					
						
							|  |  |  | option letter, unless the option is followed by a parameter. | 
					
						
							|  |  |  | Spaces between a single option letter and its parameter are optional. | 
					
						
							|  |  |  | Parameters to options can be specified in decimal, hexadecimal or octal | 
					
						
							|  |  |  | notation. | 
					
						
							|  |  |  | Thus | 
					
						
							|  |  |  | .BR \-c8 , | 
					
						
							|  |  |  | .BR "\-c 8" , | 
					
						
							|  |  |  | .B \-c 010 | 
					
						
							|  |  |  | and | 
					
						
							|  |  |  | .B \-cols 8 | 
					
						
							|  |  |  | are all equivalent. | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | .IR \-a " | " \-autoskip | 
					
						
							|  |  |  | toggle autoskip: A single '*' replaces nul-lines.  Default off. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | .IR \-b " | " \-bits | 
					
						
							|  |  |  | Switch to bits (binary digits) dump, rather than hexdump. | 
					
						
							|  |  |  | This option writes octets as eight digits "1"s and "0"s instead of a normal | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | hexadecimal dump. Each line is preceded by a line number in hexadecimal and | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | followed by an ascii (or ebcdic) representation. The command line switches | 
					
						
							|  |  |  | \-r, \-p, \-i do not work with this mode. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | .IR "\-c cols " | " \-cols cols" | 
					
						
							|  |  |  | format | 
					
						
							|  |  |  | .RI < cols > | 
					
						
							|  |  |  | octets per line. Default 16 (\-i: 12, \-ps: 30, \-b: 6). Max 256. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | .IR \-E " | " \-EBCDIC | 
					
						
							|  |  |  | Change the character encoding in the righthand column from ASCII to EBCDIC. | 
					
						
							|  |  |  | This does not change the hexadecimal representation. The option is | 
					
						
							|  |  |  | meaningless in combinations with \-r, \-p or \-i. | 
					
						
							|  |  |  | .TP | 
					
						
							| 
									
										
										
										
											2015-03-05 17:51:15 +01:00
										 |  |  | .IR \-e | 
					
						
							|  |  |  | Switch to little-endian hexdump. | 
					
						
							|  |  |  | This option treats byte groups as words in little-endian byte order. | 
					
						
							|  |  |  | The default grouping of 4 bytes may be changed using | 
					
						
							|  |  |  | .RI "" \-g . | 
					
						
							|  |  |  | This option only applies to hexdump, leaving the ASCII (or EBCDIC) | 
					
						
							|  |  |  | representation unchanged. | 
					
						
							|  |  |  | The command line switches | 
					
						
							|  |  |  | \-r, \-p, \-i do not work with this mode. | 
					
						
							|  |  |  | .TP | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .IR "\-g bytes " | " \-groupsize bytes" | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | separate the output of every | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .RI < bytes > | 
					
						
							|  |  |  | bytes (two hex characters or eight bit-digits each) by a whitespace. | 
					
						
							|  |  |  | Specify | 
					
						
							|  |  |  | .I \-g 0 | 
					
						
							|  |  |  | to suppress grouping. | 
					
						
							|  |  |  | .RI < Bytes "> defaults to " 2 | 
					
						
							| 
									
										
										
										
											2015-03-05 17:51:15 +01:00
										 |  |  | in normal mode, \fI4\fP in little-endian mode and \fI1\fP in bits mode. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | Grouping does not apply to postscript or include style. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | .IR \-h " | " \-help | 
					
						
							|  |  |  | print a summary of available commands and exit.  No hex dumping is performed. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | .IR \-i " | " \-include | 
					
						
							|  |  |  | output in C include file style. A complete static array definition is written | 
					
						
							|  |  |  | (named after the input file), unless xxd reads from stdin. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | .IR "\-l len " | " \-len len" | 
					
						
							|  |  |  | stop after writing | 
					
						
							|  |  |  | .RI  < len > | 
					
						
							|  |  |  | octets. | 
					
						
							|  |  |  | .TP | 
					
						
							| 
									
										
										
										
											2015-03-05 17:51:15 +01:00
										 |  |  | .I \-o offset | 
					
						
							|  |  |  | add | 
					
						
							|  |  |  | .RI < offset > | 
					
						
							|  |  |  | to the displayed file position. | 
					
						
							|  |  |  | .TP | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .IR \-p " | " \-ps " | " \-postscript " | " \-plain | 
					
						
							|  |  |  | output in postscript continuous hexdump style. Also known as plain hexdump | 
					
						
							|  |  |  | style. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | .IR \-r " | " \-revert | 
					
						
							|  |  |  | reverse operation: convert (or patch) hexdump into binary. | 
					
						
							|  |  |  | If not writing to stdout, xxd writes into its output file without truncating | 
					
						
							|  |  |  | it. Use the combination | 
					
						
							|  |  |  | .I \-r \-p | 
					
						
							|  |  |  | to read plain hexadecimal dumps without line number information and without a | 
					
						
							|  |  |  | particular column layout. Additional Whitespace and line-breaks are allowed | 
					
						
							|  |  |  | anywhere. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | .I \-seek offset | 
					
						
							|  |  |  | When used after | 
					
						
							| 
									
										
										
										
											2005-03-18 20:25:31 +00:00
										 |  |  | .IR \-r : | 
					
						
							|  |  |  | revert with | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .RI < offset > | 
					
						
							|  |  |  | added to file positions found in hexdump. | 
					
						
							|  |  |  | .TP | 
					
						
							| 
									
										
										
										
											2005-03-18 20:25:31 +00:00
										 |  |  | .I \-s [+][\-]seek | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | start at | 
					
						
							|  |  |  | .RI < seek > | 
					
						
							|  |  |  | bytes abs. (or rel.) infile offset. | 
					
						
							| 
									
										
										
										
											2007-05-05 18:24:42 +00:00
										 |  |  | \fI+ \fRindicates that the seek is relative to the current stdin file position | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | (meaningless when not reading from stdin).  \fI\- \fRindicates that the seek | 
					
						
							|  |  |  | should be that many characters from the end of the input (or if combined with | 
					
						
							| 
									
										
										
										
											2005-03-18 20:25:31 +00:00
										 |  |  | \fI+\fR: before the current stdin file position). | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | Without \-s option, xxd starts at the current file position. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | .I \-u | 
					
						
							|  |  |  | use upper case hex letters. Default is lower case. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | .IR \-v " | " \-version | 
					
						
							|  |  |  | show version string. | 
					
						
							|  |  |  | .SH CAVEATS | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | .I xxd \-r | 
					
						
							|  |  |  | has some builtin magic while evaluating line number information. | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | If the output file is seekable, then the linenumbers at the start of each | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | hexdump line may be out of order, lines may be missing, or overlapping. In | 
					
						
							|  |  |  | these cases xxd will lseek(2) to the next position. If the output file is not | 
					
						
							|  |  |  | seekable, only gaps are allowed, which will be filled by null-bytes. | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | .I xxd \-r | 
					
						
							|  |  |  | never generates parse errors. Garbage is silently skipped. | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | When editing hexdumps, please note that | 
					
						
							|  |  |  | .I xxd \-r | 
					
						
							|  |  |  | skips everything on the input line after reading enough columns of hexadecimal | 
					
						
							|  |  |  | data (see option \-c). This also means, that changes to the printable ascii (or | 
					
						
							|  |  |  | ebcdic) columns are always ignored. Reverting a plain (or postscript) style | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | hexdump with xxd \-r \-p does not depend on the correct number of columns. Here anything that looks like a pair of hex-digits is interpreted. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							|  |  |  | Note the difference between | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | \fI% xxd \-i file\fR | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | and | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2005-03-18 20:25:31 +00:00
										 |  |  | \fI% xxd \-i < file\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | .I xxd \-s +seek | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | may be different from | 
					
						
							| 
									
										
										
										
											2005-03-18 20:25:31 +00:00
										 |  |  | .IR "xxd \-s seek" , | 
					
						
							|  |  |  | as lseek(2) is used to "rewind" input.  A '+' | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | makes a difference if the input source is stdin, and if stdin's file position | 
					
						
							|  |  |  | is not at the start of the file by the time xxd is started and given its input. | 
					
						
							|  |  |  | The following examples may help to clarify (or further confuse!)... | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | Rewind stdin before reading; needed because the `cat' has already read to the | 
					
						
							|  |  |  | end of stdin. | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2007-05-05 18:24:42 +00:00
										 |  |  | \fI% sh \-c "cat > plain_copy; xxd \-s 0 > hex_copy" < file\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							|  |  |  | Hexdump from file position 0x480 (=1024+128) onwards. | 
					
						
							|  |  |  | The `+' sign means "relative to the current position", thus the `128' adds to | 
					
						
							|  |  |  | the 1k where dd left off. | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2007-05-05 18:24:42 +00:00
										 |  |  | \fI% sh \-c "dd of=plain_snippet bs=1k count=1; xxd \-s +128 > hex_snippet" < file\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							| 
									
										
										
										
											2005-03-18 20:25:31 +00:00
										 |  |  | Hexdump from file position 0x100 ( = 1024\-768) on. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2007-05-05 18:24:42 +00:00
										 |  |  | \fI% sh \-c "dd of=plain_snippet bs=1k count=1; xxd \-s +\-768 > hex_snippet" < file\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							|  |  |  | However, this is a rare situation and the use of `+' is rarely needed. | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | The author prefers to monitor the effect of xxd with strace(1) or truss(1), whenever \-s is used. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .SH EXAMPLES | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | Print everything but the first three lines (hex 0x30 bytes) of | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | .BR file . | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2007-05-05 18:24:42 +00:00
										 |  |  | \fI% xxd \-s 0x30 file\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | Print 3 lines (hex 0x30 bytes) from the end of | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | .BR file . | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2007-05-05 18:24:42 +00:00
										 |  |  | \fI% xxd \-s \-0x30 file\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2007-05-05 18:24:42 +00:00
										 |  |  | Print 120 bytes as continuous hexdump with 20 octets per line. | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							|  |  |  | \fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | 2e54482058584420312022417567757374203139 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | 39362220224d616e75616c207061676520666f72 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | 20787864220a2e5c220a2e5c222032317374204d | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | 617920313939360a2e5c22204d616e2070616765 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | 20617574686f723a0a2e5c2220202020546f6e79 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | 204e7567656e74203c746f6e79407363746e7567 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | Hexdump the first 120 bytes of this man page with 12 octets per line. | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | \fI% xxd \-l 120 \-c 12 xxd.1\fR | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | 0000000: 2e54 4820 5858 4420 3120 2241  .TH XXD 1 "A | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | 000000c: 7567 7573 7420 3139 3936 2220  ugust 1996"  | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | 0000018: 224d 616e 7561 6c20 7061 6765  "Manual page | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | 0000024: 2066 6f72 2078 7864 220a 2e5c   for xxd"..\\ | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | 0000030: 220a 2e5c 2220 3231 7374 204d  "..\\" 21st M | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | 000003c: 6179 2031 3939 360a 2e5c 2220  ay 1996..\\"  | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | 0000048: 4d61 6e20 7061 6765 2061 7574  Man page aut | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | 0000054: 686f 723a 0a2e 5c22 2020 2020  hor:..\\"     | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | 0000060: 546f 6e79 204e 7567 656e 7420  Tony Nugent  | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | 000006c: 3c74 6f6e 7940 7363 746e 7567  <tony@sctnug | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | Display just the date from the file xxd.1 | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | \fI% xxd \-s 0x36 \-l 13 \-c 13 xxd.1\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | 0000036: 3231 7374 204d 6179 2031 3939 36  21st May 1996 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | Copy | 
					
						
							|  |  |  | .B input_file | 
					
						
							|  |  |  | to | 
					
						
							|  |  |  | .B output_file | 
					
						
							|  |  |  | and prepend 100 bytes of value 0x00. | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | \fI% xxd input_file | xxd \-r \-s 100 > output_file\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | Patch the date in the file xxd.1 | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | \fI% echo "0000037: 3574 68" | xxd \-r \- xxd.1\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | \fI% xxd \-s 0x36 \-l 13 \-c 13 xxd.1\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .br | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | 0000036: 3235 7468 204d 6179 2031 3939 36  25th May 1996 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | Create a 65537 byte file with all bytes 0x00, | 
					
						
							|  |  |  | except for the last one which is 'A' (hex 0x41). | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | \fI% echo "010000: 41" | xxd \-r > file\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | Hexdump this file with autoskip. | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | \fI% xxd \-a \-c 12 file\fR | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | 0000000: 0000 0000 0000 0000 0000 0000  ............ | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | * | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | 000fffc: 0000 0000 40                   ....A | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | Create a 1 byte file containing a single 'A' character. | 
					
						
							|  |  |  | The number after '\-r \-s' adds to the linenumbers found in the file; | 
					
						
							|  |  |  | in effect, the leading bytes are suppressed. | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | \fI% echo "010000: 41" | xxd \-r \-s \-0x10000 > file\fR | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .PP | 
					
						
							|  |  |  | Use xxd as a filter within an editor such as | 
					
						
							|  |  |  | .B vim(1) | 
					
						
							|  |  |  | to hexdump a region marked between `a' and `z'. | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | \fI:'a,'z!xxd\fR | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | Use xxd as a filter within an editor such as | 
					
						
							|  |  |  | .B vim(1) | 
					
						
							|  |  |  | to recover a binary hexdump marked between `a' and `z'. | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | \fI:'a,'z!xxd \-r\fR | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | Use xxd as a filter within an editor such as | 
					
						
							|  |  |  | .B vim(1) | 
					
						
							|  |  |  | to recover one line of a hexdump.  Move the cursor over the line and type: | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | \fI!!xxd \-r\fR | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | Read single characters from a serial line | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | \fI% xxd \-c1 < /dev/term/b &\fR | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | \fI% stty < /dev/term/b \-echo \-opost \-isig \-icanon min 1\fR | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | \fI% echo \-n foo > /dev/term/b\fR | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | .SH "RETURN VALUES" | 
					
						
							|  |  |  | The following error values are returned: | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | 0 | 
					
						
							|  |  |  | no errors encountered. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | \-1 | 
					
						
							|  |  |  | operation not supported ( | 
					
						
							|  |  |  | .I xxd \-r \-i | 
					
						
							|  |  |  | still impossible). | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | 1 | 
					
						
							|  |  |  | error while parsing options. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | 2 | 
					
						
							|  |  |  | problems with input file. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | 3 | 
					
						
							|  |  |  | problems with output file. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | 4,5 | 
					
						
							|  |  |  | desired seek position is unreachable. | 
					
						
							|  |  |  | .SH "SEE ALSO" | 
					
						
							|  |  |  | uuencode(1), uudecode(1), patch(1) | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | .SH WARNINGS | 
					
						
							|  |  |  | The tools weirdness matches its creators brain. | 
					
						
							|  |  |  | Use entirely at your own risk. Copy files. Trace it. Become a wizard. | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | .SH VERSION | 
					
						
							|  |  |  | This manual page documents xxd version 1.7 | 
					
						
							|  |  |  | .SH AUTHOR | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | (c) 1990-1997 by Juergen Weigert | 
					
						
							|  |  |  | .br | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | <jnweiger@informatik.uni\-erlangen.de> | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | .LP | 
					
						
							|  |  |  | Distribute freely and credit me, | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | make money and share with me, | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | lose money and don't ask me. | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | Manual page started by Tony Nugent | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | <tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au> | 
					
						
							|  |  |  | .br | 
					
						
							|  |  |  | Small changes by Bram Moolenaar. | 
					
						
							|  |  |  | Edited by Juergen Weigert. | 
					
						
							|  |  |  | .PP |