Hexdump - příkaz Linux - příkaz Unix

název

hexdump - ascii, desetinná, šestnáctková, osmička

Synopse

[- bcCdovx ] - slova [- e format_string ] - slova [- f format_file ] - slova [- n délka ] - slova [- s přeskočit ] ...

Popis

Pomůcka hexdump je filtr, který zobrazuje zadané soubory nebo standardní vstup, pokud nejsou zadány žádné soubory, ve formátu určeném uživatelem.

Možnosti jsou následující:

-b

Jeden bajtový osmičkový displej Zobrazí posunutí vstupu v šestnáctkové soustavě a následně šestnáct oddělených prostorů, tři sloupce, nula, naplněné bajty vstupních dat v osmičcích na každý řádek.

-C

Zobrazení jednobajtového znaku Zobrazte posunutí vstupu v šestnáctkové soustavě, následovanou šestnácti znaky vstupních dat na jeden řádek oddělenými mezerami.

-C

Canonical hex + ASCII displej Zobrazí offset vstupů v šestnáctkové soustavě, následuje šestnáct prostorově oddělených, dva sloupce, hexadecimální bajty, následuje šestnáct bajtů ve formátu% _p uzavřených v "` | 'znaky.

-d

Dvoubajtový desetinný displej Zobrazí offset vstupů v šestnáctkové soustavě a následně osm oddělených, pěti sloupcových, nulových dvoubajtových jednotek vstupních dat v nepodepsaných desítkách na každý řádek.

-e format_string

Určete formátovací řetězec, který bude použit pro zobrazení dat.

-f formát_souboru

Určete soubor, který obsahuje jeden nebo více řetězec formátů oddělených novými řádky. Prázdné čáry a řádky, jejichž první neprázdný znak je znak hash ( # jsou ignorovány.

-délka

Interpretujte pouze délkové bajty vstupu.

Dvoubajtový osmičkový displej Zobrazí posunutí vstupu v šestnáctkové soustavě, následované osmi volnými vstupními daty v šest sloupcích, dvěma bajtymi oddělenými, dvěma bajtymi, v osmičcích na každý řádek.

-s ofset

Přeskočte odsazení bajtů od začátku vstupu. Ve výchozím nastavení je offset interpretován jako desítkové číslo. S předním posunem 0x nebo 0X se interpretuje jako hexadecimální číslo, jinak se přední 0 offset interpretuje jako osmičkové číslo. Přidání znaku b k nebo m pro vyrovnání způsobuje, že se interpretuje jako násobek 512 1024 nebo 1048576 .

-proti

Volba - v způsobuje, že hexdump zobrazí všechna vstupní data. Bez volby -v se libovolný počet skupin výstupních linek, který by byl identický s bezprostředně předcházející skupinou výstupních řádků (s výjimkou vstupních odchylek), nahrazuje čárou, která obsahuje jednu hvězdičku.

-X

Dvoubajtový hexadecimální displej Zobrazí posunutí vstupu v šestnáctkové soustavě, následně osm, prostorově oddělených, čtyři sloupce, nula plná dvoubajtová množství vstupních dat v šestnáctkové soustavě na jeden řádek.

Pro každý vstupní soubor postupně zkopíruje vstup na standardní výstup a transformuje data podle řetězců formátu specifikovaných volbami - e a - f v pořadí, ve kterém byly zadány.

Formáty

Řetězec formátu obsahuje libovolný počet formátovacích jednotek, oddělených mezery. Formátová jednotka obsahuje až tři položky: počet iterací, počet bajtů a formát.

Počet iterací je volitelný kladný celočíselný kód, který je výchozím číslem. Každý formát je aplikován opakovaně početrát.

Počet bytů je volitelným kladným číslem. Je-li zadán, definuje počet bajtů, které je třeba interpretovat při každé iteraci formátu.

Je-li zadán počet iterací a / nebo počet bajtů , musí být po iteračním počtu a / nebo před počtem bajtů umístěno jedno lomítko pro jejich odlišení.

Jakékoliv mezery před nebo po lomítko jsou ignorovány.

Formát je požadován a musí být obklopen dvojitou citací (""). Je interpretován jako řetězec formátu fprintf (viz fprintf (3)) s následujícími výjimkami:

Hexdump také podporuje následující další řetězce konverze:

_a [ dox ]

Zobrazte posunutí vstupu, kumulativní u vstupních souborů, další bajt, který se má zobrazit. Přiložené znaky d o a x specifikují základnu displeje jako desetinnou, osmičkovou nebo šestnáctkovou.

_A [ dox ]

Totéž platí pro konverzní řetězec _a kromě toho, že se provádí pouze jednou, když byly zpracovány všechny vstupní data.

_C

Výstupní znaky ve výchozím znakovém řádku. Netisknutelné znaky se zobrazují ve třech znakových, osmičkách s nulovým políčkem, s výjimkou těch, které lze znázornit standardní escape notací (viz výše), které se zobrazují jako dva znakové řetězce.

_p

Výstupní znaky ve výchozím znakovém řádku. Netisknutelné znaky se zobrazují jako jeden `` . ''

_u

Výstupní znaky US ASCII, s výjimkou toho, že se řídící znaky zobrazují pomocí následujících malých jmen. Znaky větší než 0xff, hexadecimální, jsou zobrazeny jako hexadecimální řetězce.

000 nul 001 soch 002 stx 003 etx 004 eot 005 enq

006 ack 007 bel 008 bs 009 ht 00A lf 00B vt

00C ff 00D cr 00E tak 00F a 010 dle 011 dc1

012 dc2 013 dc3 014 dc4 015 nak 016 syn 017 etb

018 může 019 em 01A pod 01B esc 01C fs 01D gs

01E rs 01F us 0FF del

Výchozí a podporované počty bajtů pro znaky konverze jsou následující:

% _c,% _p,% _u,% c

Jeden byte se počítá pouze.

% d,% i,% o % u,% X,% x

Standardní čtyři bajty, jeden, dva a čtyři bajty počítají podporovány.

% E,% e,% f % G,% g

Osm bajtů výchozí, čtyři bajty počítají podporovány.

Množství dat interpretovaných každým formátovacím řetězcem je součtem dat požadovaných každou formátovací jednotkou, což je počet iterací počítaný časy počtem bajtů, nebo iterace počítá počet bajtů požadovaných formátem, pokud počet bajtů není specifikováno.

Vstup je manipulován v `` bloky '', kde je blok definován jako největší množství dat zadaných libovolným formátovacím řetězcem. Formátovat řetězce, které interpretují méně než hodnoty vstupního bloku, jejichž poslední jednotka formátu interpretuje jakýkoli počet bajtů a nemá zadaný počet iterací, zvýšil počet iterací, dokud nebyl zpracován celý vstupní blok nebo není dostatek dat zbývající v bloku, aby uspokojil formátovací řetězec.

Pokud buď v důsledku specifikace uživatele nebo hexdumpu, který upravuje počet iterací, jak je popsáno výše, počet opakování je větší než jeden, během poslední iterace se nezobrazují žádné znaky mezery.

Jedná se o chybu při zadání počtu bajtů, stejně jako u více konverzních znaků nebo řetězců, pokud pouze jeden z konverzních znaků nebo řetězců je _a nebo _A

Pokud je výsledkem zadání parametru - n nebo konec souboru, vstupní data pouze částečně splňují formátovací řetězec, vstupní blok je dostatečně nulový, aby zobrazoval všechna dostupná data (tj. Všechny formující jednotky se překrývají konec dat zobrazí určitý počet nulových bajtů).

Další výstup těchto formátovacích řetězců je nahrazen ekvivalentním počtem mezer. Ekvivalentní počet mezery je definován jako počet mezery vyvedených znakem konverzní s se stejnou šířkou a přesností pole jako původní konverzní znak nebo konverzní řetězec, ale s libovolným znakem `` `` `` `` ` # '' odstraněné znaky konverze a odkaz na řetězec NULL.

Pokud nejsou zadány žádné řetězce formátu, výchozí zobrazení odpovídá zadání možnosti - x .

ukončí 0 úspěch a> 0, pokud dojde k chybě.

PŘÍKLADY

Zobrazte vstupní formát v přehledu:

"% 06.6_ao" 12/1 "% 3_u" "\ t \ t" "% _p" "\ n"

Implementujte volbu -x:

"% 07.7_Ax \ n" "% 07.7_ax" 8/2 "% 04x" "\ n"

Standardy

Očekává se, že nástroj bude kompatibilní se St -p1003.2.