XXD(1)

NAMN
xxd - g�r en hexdump eller g�r det omv�nda.

SYNOPSIS
xxd -h[elp]
xxd [flaggor] [infil [utfil]]
xxd -r[evert] [flaggor] [infil [utfil]]

BESKRIVNING
xxd skapar en hexdump av en given fil eller standardinmatning. Det kan ocks� konvertera en hexdump tillbaka till sin ursprungliga bin�ra form. Liksom uuencode(1) och uudecode(1) till�ter det �verf�ring av bin�r data i en "mail-safe" ASCII-representation, men har f�rdelen att avkoda till standardutmatning. Dessutom kan det anv�ndas f�r att utf�ra bin�r filpatchning.

FLAGGOR
Om ingen infile anges, l�ses standardinmatningen. Om infile anges som ett `-'-tecken, h�mtas inmatningen fr�n standardinmatningen. Om ingen outfile anges (eller om ett `-'-tecken finns p� dess plats), skickas resultaten till standardutmatningen.

Observera att en "lat" parser anv�nds som inte kontrollerar mer �n den f�rsta optionsbokstaven, s�vida inte optionen f�ljs av en parameter. Mellanslag mellan en enskild optionsbokstav och dess parameter �r valfria. Parametrar till optioner kan anges i decimal-, hexadecimal- eller oktalnotation. S�ledes �r -c8, -c 8, -c 010 och -cols 8 alla likv�rdiga.

-a | -autoskip
    V�xla autoskip: En enda '*' ers�tter NUL-rader. Standardinst�llning �r av.

-b | -bits
    V�xla till bitdump (bin�ra siffror) ist�llet f�r hexdump. Den h�r flaggan skriver oktetter som �tta siffror "1" och "0" ist�llet f�r en vanlig hexadecimal dump. Varje rad f�reg�s av ett radnummer i hexadecimal och f�ljs av en ASCII- (eller EBCDIC-) representation. Kommandoradsv�xeln -p fungerar inte i det h�r l�get. Kan kombineras med -i.

-c cols | -cols kolumner
    Format <cols> oktetter per rad. Standard 16 (-i: 12, -ps: 30, -b: 6). Max 256. Inget maximum f�r -ps. Med -ps resulterar 0 i en l�ng rad med utdata.

-C | -capitalize
    Anv�nd versaler f�r variabelnamn i C-inkluderingsfilformat n�r du anv�nder -i.

-d  visa offset i decimal ist�llet f�r hex.

-E | -EBCDIC
    �ndra teckenkodningen i den h�gra kolumnen fr�n ASCII till EBCDIC. Detta �ndrar inte den hexadecimala representationen. Flaggan �r meningsl�s i kombination med -r, -p eller -i.

-e  Byt till little-endian hex dump. Denna flagga behandlar byte-grupper som ord i little-endian byte-ordning. Standardgrupperingen p� 4 byte kan �ndras med -g. Denna flagga g�ller endast hex dump, ASCII- (eller EBCDIC-) representationen f�rblir of�r�ndrad. Kommandoradsv�xlarna -r, -p, -i fungerar inte i detta l�ge.

-g bytes | -groupsize byte
    Separera utdata f�r varje <bytes> -byte (tv� hexadecimala tecken eller �tta bitars siffror vardera) med ett blanksteg. Ange -g 0 f�r att undertrycka gruppering. <Bytes> -standardv�rdet �r 2 i normalt l�ge, 4 i little-endian-l�ge och 1 i bits-l�ge. Gruppering g�ller inte f�r PostScript eller inkluderingsstil.

-h | -help
    Skriv ut en sammanfattning av tillg�ngliga kommandon och avsluta. Ingen hexdumpning utf�rs.

-i | -include
    Utdata i C-inkluderingsfilformat. En komplett statisk arraydefinition skrivs (uppkallad efter inmatningsfilen), s�vida inte xxd l�ser fr�n stdin. Kan kombineras med -b.

-l len | -len len
    Stanna efter att ha skrivit <len> oktetter.

-n name  |  -name namn
    �sidos�tt variabelnamnets utdata n�r -i anv�nds. Arrayen heter name och l�ngden heter name_len.

-o offset
    L�gg till <offset> till den visade filpositionen.

-p | -ps | -postscript | -plain
    Utdata i PostScript-format med kontinuerlig hexdump. Kallas �ven vanlig hexdump.

-r | -revert
    Omv�nd operation: konvertera (eller patcha) hexdump till bin�r. Om xxd inte skriver till stdout, skriver det till sin utdatafil utan att trunka den. Anv�nd kombinationen -r -p f�r att l�sa vanliga hexadecimala dumpningar utan radnummerinformation och utan en s�rskild kolumnlayout. Extra blanksteg och radbrytningar �r till�tna var som helst. Anv�nd kombinationen -r -b f�r att l�sa en bitdump ist�llet f�r en hexdump.

-R when
    I utdata f�rgas b�de hexv�rdet och v�rdet med samma f�rg beroende p� hexv�rdet. Detta hj�lper fr�mst till att skilja mellan utskrivbara och icke-utskrivbara tecken. when �r never, always eller auto (standard: auto). N�r milj�variabeln $NO_COLOR �r inst�lld inaktiveras f�rgl�ggningen.

-seek offset
    N�r det anv�nds efter -r: �terst�ll med <offset> l�ggs till i filpositioner som hittas i hexdump.

-s [+][-]seek
    B�rja vid <seek> byte absolut (eller relativ) infile offset. + anger att s�kningen �r relativ till den aktuella stdin-filpositionen (meningsl�st n�r man inte l�ser fr�n stdin). - anger att s�kningen ska ske s� m�nga tecken fr�n slutet av inmatningen (eller om det kombineras med +: f�re den aktuella stdin-filpositionen). Utan flaggan -s b�rjar xxd vid den aktuella filpositionen.

-u  Anv�nd versaler f�r hexadecimala bokst�ver. Standard �r gemener.

-v | -version
    Visa versionsstr�ng.

VARNINGAR

xxd -r finns en inbyggd funktion som utv�rderar radnummerinformation. Om utdatafilen �r s�kbar kan radnumren i b�rjan av varje hexdump-rad vara i fel ordning, rader kan saknas eller �verlappa varandra. I dessa fall kommer xxd att lseek(2) till n�sta position. Om utdatafilen inte �r s�kbar �r endast luckor till�tna, vilka kommer att fyllas med nolltecken.

xxd -r genereras aldrig parsningsfel. Skr�p ignoreras tyst.

N�r du redigerar hexdumps, observera att xxd -r hoppar �ver allt p� inmatningsraden efter att ha l�st tillr�ckligt m�nga kolumner med hexadecimal data (se flaggan -c). Detta inneb�r ocks� att �ndringar i de utskrivbara ASCII- (eller EBCDIC-) kolumnerna alltid ignoreras. �terst�llning av en vanlig (eller PostScript) hexdump med xxd -r -p �r inte beroende av r�tt antal kolumner. H�r tolkas allt som ser ut som ett par hexadecimala siffror.

Observera skillnaden mellan
% xxd -i fil
och
% xxd -i < fil

xxd -s +seek kan skilja sig fr�n xxd -s seek, eftersom lseek(2) anv�nds f�r att "spola tillbaka" indata. Ett '+' g�r skillnad om indatak�llan �r stdin och om stdins filposition inte �r i b�rjan av filen n�r xxd startas och f�r sin indata. F�ljande exempel kan hj�lpa till att f�rtydliga (eller f�rvirra ytterligare!):

Spola tillbaka stdin innan l�sning; n�dv�ndigt eftersom `cat' redan har l�st till slutet av stdin.
% sh -c "cat > plain_copy; xxd -s 0 > hex_copy" < file

Hexdump fr�n filposition 0x480 (=1024+128) och fram�t. Tecknet "+" betyder "relativt till aktuell position", s� "128" l�ggs till 1k d�r dd slutade.
% sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +128 > hex_snippet" < file

Hexdump fr�n filposition 0x100 (=1024-768) och fram�t.
% sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +-768 > hex_snippet" < file

Detta �r dock en s�llsynt situation och anv�ndningen av `+' beh�vs s�llan. F�rfattaren f�redrar att �vervaka effekten av xxd med strace(1) eller truss(1) n�r -s anv�nds.

EXEMPEL

Skriv ut allt utom de tre f�rsta raderna (hex 0x30 byte) av file.
% xxd -s 0x30 fil

Skriv ut 3 rader (hex 0x30 byte) fr�n slutet av file.
% xxd -s -0x30 fil

Observera: Resultaten i exemplen nedan �r relevanta f�r xxd.1-man-sidan fr�n maj 2024

Skriv ut 120 byte som en kontinuerlig hexdump med 20 oktetter per rad.
% xxd -l 120 -ps -c 20 xxd.1
2e544820585844203120224d6179203230323422
20224d616e75616c207061676520666f72207878
64220a2e5c220a2e5c222032317374204d617920
313939360a2e5c22204d616e2070616765206175
74686f723a0a2e5c2220202020546f6e79204e75
67656e74203c746f6e79407363746e7567656e2e
Hexdump de f�rsta 120 byte av denna man-sida med 12 oktetter per rad.
% xxd -l 120 -c 12 xxd.1
00000000: 2e54 4820 5858 4420 3120 224d .TH XXD 1 "M
0000000c: 6179 2032 3032 3422 2022 4d61 ay 2024" "Ma
00000018: 6e75 616c 2070 6167 6520 666f manuell sida f�r
00000024: 7220 7878 6422 0a2e 5c22 0a2e r xxd"..\"..
00000030: 5c22 2032 3173 7420 4d61 7920 \" 21 maj
0000003c: 3139 3936 0a2e 5c22 204d 616e 1996..\" Man
00000048: 2070 6167 6520 6175 7468 6f72 sidans f�rfattare
00000054: 3a0a 2e5c 2220 2020 2054 6f6e :..\" Ton
00000060: 7920 4e75 6765 6e74 203c 746f y Nugent <till
0000006c: 6e79 4073 6374 6e75 6765 6e2e ny@sctnugen.

Visa endast datumet fr�n filen xxd.1
% xxd -s 0x33 -l 13 -c 13 xxd.1
00000033: 3231 7374 204d 6179 2031 3939 36 21 maj 1996

Kopiera input_file till output_file och l�gg till 100 byte med v�rdet 0x00 i b�rjan.
% xxd input_file | xxd -r -s 100 > output_file
Korrigera datumet i filen xxd.1
% echo "0000034: 3574 68" | xxd -r - xxd.1
% xxd -s 0x33 -l 13 -c 13 xxd.1
00000033: 3235 7468 204d 6179 2031 3939 36 25 maj 1996

Skapa en fil p� 65537 byte med alla byte 0x00, f�rutom den sista som �r 'A' (hex 0x41).
% echo "010000: 41" | xxd -r > fil

Hexdump denna fil med autoskip.
% xxd -a -c 12 fil
00000000: 0000 0000 0000 0000 0000 0000 ............
*
0000fffc: 0000 0000 41 ....A

Skapa en 1 byte-fil som inneh�ller ett enda 'A'-tecken. Siffran efter '-r -s' l�ggs till radnumren i filen; i praktiken undertrycks de inledande bytena.
% echo "010000: 41" | xxd -r -s -0x10000 > fil

Anv�nd xxd som filter i en redigerare som mnv(1) f�r att hexdumpning av ett omr�de markerat mellan `a' och `z'.
:'a,'z!xxd

Anv�nd xxd som filter i en redigerare som mnv(1) f�r att �terst�lla en bin�r hexdump markerad mellan `a' och `z'.
:'a,'z!xxd -r

Anv�nd xxd som filter i en redigerare som mnv(1) f�r att �terst�lla en rad i en hexdump. Flytta mark�ren �ver raden och skriv:
!!xxd -r

L�s enskilda tecken fr�n en seriell linje
% xxd -c1 < /dev/term/b &amp;
% stty < /dev/term/b -echo -opost -isig -icanon min 1
% echo -n foo > /dev/term/b

RETURV�RDEN
F�ljande felv�rden returneras:

0   inga fel uppt�cktes.

-1  operationen st�ds inte (xxd -r -i fortfarande om�jligt).

1   fel vid tolkning av flaggor.

2   problem med inmatningsfilen.

3   problem med utdatafilen.

4,5 �nskad s�kposition �r ouppn�elig.

SE �VEN
uuencode(1), uudecode(1), patch(1)

VARNINGAR
Verktygets konstighet matchar dess skapares hj�rna. Anv�nd helt p� egen risk. Kopiera filer. Sp�ra dem. Bli en trollkarl.

VERSION
Denna manual sida dokumenterar xxd version 1.7 fr�n 2024-05.

UPPHOVSPERSON
(c) 1990-1997 av Juergen Weigert
<jnweiger@informatik.uni-erlangen.de>

Distribuera fritt och ange mig som k�lla,
tj�na pengar och dela med mig,
f�rlora pengar och fr�ga inte mig.

Manualsida skapad av Tony Nugent
<tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au>
Sm� �ndringar av Bram Moolenaar. Redigerat av Juergen Weigert.

SVENSK �VERS�TTNING
MNV �versattes ursprungligen av Johan Svedberg 2003-2007 och har under 2025 uppdaterats av Daniel Nylander, speciellt manualsidor samt sj�lvMNMNV. Om du hittar fel i �vers�ttningen, kontakta <tp-sv@listor.tp-sv.se>.