.\" {PTM/PB/0.1/20-06-1999/"zrzut ascii, dziesiętny, ósemkowy, szesnastkowy"}
.\"
.\" Nie jestem 1000%. pewien tego fragmentu o formatach, które nie
.\" wypełniają całkowicie bloku...
.\"
.\" Copyright (c) 1989, 1990, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"	@(#)hexdump.1	8.2 (Berkeley) 4/18/94
.\"
.Dd April 18, 1994
.Dt HEXDUMP 1
.Os
.Sh NAZWA
.Nm hexdump
.Nd zrzut ascii, dziesiętny, szesnastkowy, ósemkowy
.Sh SKŁADNIA
.Nm hexdump
.Op Fl bcdovx
.Op Fl e Ar napis_formatu
.Op Fl f Ar plik_formatu
.Op Fl n Ar długość
.Bk -words
.Op Fl s Ar pomiń
.Ek
.Ar plik  ...
.Sh OPIS
\fI Uwaga! To tłumaczenie może być nieaktualne!\fP
.Pp
Narzędzie hexdump jest filtrem, który wyświetla podane pliki, lub
standardowe wejście, jeśli nie podano plików, używając do tego celu podanego
przez użytkownika formatu.
.Pp
Opcje są następujące
.Bl -tag -width Fl
.It Fl b
.Em Jednobajtowe wyświetlanie ósemkowe .
Wyświetl szesnastkowo offset wejściowy, a za nim szesnaście,
trójkolumnowych, oddzielonych spacjami, wypełnionych zerami bajtów
wejściowych w formacie ósemkowym.
.It Fl c
.Em Jednobajtowe wyświetlanie znakowe .
Wyświetl szesnastkowo offset wejściowy, a za nim szesnaście,
trójkolumnowych, oddzielonych spacjami bajtów w formacie ascii.
.It Fl d
.Em Dwubajtowe wyświetlanie dziesiętne.
Wyświetl szesnastkowo offset wejściowy, a za nim osiem, pięciokolumnowych,
oddzielonych spacjami, wypełnionych zerami jednostek dwubajtowych,
zawierających dane wejściowe, w formacie dziesiętnym.
.It Fl e Ar napis_formatu
Podaje napis formatujący, którego użyć do wyświetlania danych.
.It Fl f Ar plik_formatu
Podaje plik, który zawiera jeden, lub więcej, oddzielonych nową linią
napisów formatujących. Puste linie, oraz linie zaczynające się od krzyżyka
.Pf ( Cm \&# )
są ignorowane.
.It Fl n Ar długość
Interpretuj tylko
.Ar długość
bajtów wejścia.
.It Fl o
.Em Dwubajtowe wyświetlanie ósemkowe .
Wyświetl szesnastkowo offset wejściowy, a za nim osiem szeciokolumnowych,
oddzielonych spacjami, wypełnionych zerami, dwubajtowych fragmentów danych
wejściowych, w formacie ósemkowym.
.It Fl s Ar offset 
Pomiń
.Ar offset
bajtów, licząc od początku wejścia.
Domyślnie 
.Ar offset
jest interpretowany jako liczba dziesiętna.
Po poprzedzeniu go przedrostkiem
.Cm 0x
lub
.Cm 0X ,
jest interpretowany jako liczba szesnastkowa, a jeśli jest poprzedzony
prowadzącym
.Cm 0 ,
to jest interpretowany jako liczba ósemkowa.
Dołączenie do offsetu znaku
.Cm b ,
.Cm k ,
lub
.Cm m
powoduje, że jest on interpretowany jako wielokrotność odpowiednio
.Li 512 ,
.Li 1024 ,
lub
.Li 1048576 .
.It Fl v
Opcja
.Fl v
Powoduje wyświetlenie zrzutu wszystkich danych wejściowych.
Bez opcji
.Fl v ,
dowolna liczba grup linii wyjściowych, która będzie identyczna z
bezpośrednio poprzedzającą grupą linii (poza offsetami wejściowymi), będzie
zamieniana linią z gwiazdką.
.It Fl x
.Em Dwubajtowe wyświetlanie szesnastkowe .
Wyświetl szesnastkowo offset wejściowy, a za nim osiem, oddzielonych
spacjami, czterokolumnowych, wypełnionych zerami, dwubajtowych fragmentów
danych wejściowych, w formacie szesnastkowym.
.El
.Pp
Dla każdego pliku wejściowego
.Nm hexdump
kopiuje dane wejściowe na standardowe wyjście, przekształcając dane według
napisów formatujących, podanych w opcjach
.Fl e
i
.Fl f ,
w wypadku gdy były one podane.
.Ss Formaty
Napis formatujący składa się z dowolnej ilości jednostek formatujących,
oddzielonych białą spacją.
Jednostka formatująca składa się z maksymalnie trzech elementów: licznika
iteracji, licznika bajtów i formatu.
.Pp
Licznik iteracji jest opcjonalną dodatnią liczbą całkowitą, której wartość
domyślna to jeden.
Każdy format jest załączany tyle razy, ile wskazano w liczniku iteracji.
.Pp
Licznik bajtów jest opcjonalną dodatnią liczbą całkowitą. Jeśli zostanie
podana, to definiuje liczbę bajtów, które należy zinterpretować w każdej
iteracji formatu.
.Pp
Jeśli podano licznik iteracji i/lub bajtów, to po liczniku iteracji i/lub
przed licznikiem bajtów trzeba umieścić ukośnik, aby móc je rozróżnić.
Białe spacje przed ukośnikiem są ignorowane.
.Pp
Format jest częścią wymaganą i musi być ujęty w podwójne cudzysłowy
(" ").
Jest on interpretowany jak napis formatujący fprintf (zobacz
.Xr fprintf 3 ) ,
lecz z następującymi wyjątkami:
.Bl -bullet -offset indent
.It
Gwiazdka (*) nie może być używana do określania precyzji, lub szerokości
pola.
.It
Liczba bajtów, lub dokładność pola 
.Em jest
wymagana dla każdego znaku konwersji ``s'' (w przeciwieństwie do
.Xr fprintf 3
gdzie domyślnie, bez podanej precyzji, drukowany jest cały napis).
.It
Znaki konwersji ``h'', ``l'', ``n'', ``p'' i ``q'' nie 
są obsługiwane.
.It
Obsługiwane są następujące sekwencje eskejpowe pojedynczych znaków, opisane
w standardzie C:
.Bd -ragged -offset indent -compact
.Bl -column <alert_character>
.It NUL	\e0
.It <alert character>	\ea
.It <backspace>	\eb
.It <form-feed>	\ef
.It <newline>	\en
.It <carriage return>	\er
.It <tab>	\et
.It <vertical tab>	\ev
.El
.Ed
.El
.Pp
Hexdump obsługuje również następujące dodatkowe napisy konwersji:
.Bl -tag -width Fl
.It Cm \&_a Ns Op Cm dox 
Wyświetl offset wejściowy, kumulujący się na przestrzeni plików wejściowych,
wskazujący następny wyświetlany bajt.
Dodane znaki
.Cm d ,
.Cm o ,
i
.Cm x
wskazują format wyświetlenia jako dziesiętny, ósemkowy, lub szesnastkowy.
.It Cm \&_A Ns Op Cm dox 
Identyczne z napisem konwersji
.Cm \&_a
z tą tylko różnicą, że jest dokonywane tylko raz, po przetworzeniu
wszystkich danych wejściowych.
.It Cm \&_c
Drukuj znaki z domyślnego zestawu znaków.
Niedrukowalne znaki są wyświetlane w trójznakowych, wypełnionych zerami
sekwencjach ósemkowych, poza tymi, które są reprezentowane standardową
notacją eskejpową (patrz wyżej), które są wyświetlane jako napisy znakowe.
.It Cm _p
Drukuj znaki z domyślnego zestawu znaków. Niedrukowane znaki są wyświetlane
jako pojedyncza kropka
.Dq Cm \&. .
.It Cm _u
Wyświetlaj znaki US-ASCII, z wyjątkiem znaków sterujących, które są
wyświetlane w następujących określeniach.
Znaki większe niż 0xff, są wyświetlane jako napisy szesnastkowe.
.Bl -column \&000_nu \&001_so \&002_st \&003_et \&004_eo
.It \&000\ nul\t001\ soh\t002\ stx\t003\ etx\t004\ eot\t005\ enq
.It \&006\ ack\t007\ bel\t008\ bs\t009\ ht\t00A\ lf\t00B\ vt
.It \&00C\ ff\t00D\ cr\t00E\ so\t00F\ si\t010\ dle\t011\ dc1
.It \&012\ dc2\t013\ dc3\t014\ dc4\t015\ nak\t016\ syn\t017\ etb
.It \&018\ can\t019\ em\t01A\ sub\t01B\ esc\t01C\ fs\t01D\ gs
.It \&01E\ rs\t01F\ us\t0FF\ del
.El
.El
.Pp
Domyślne i wspierane liczniki bajtów dla znaków konwersji są następujące:
.Bl -tag -width  "Xc,_Xc,_Xc,_Xc,_Xc,_Xc" -offset indent
.It Li \&%_c , \&%_p , \&%_u , \&%c
Tylko liczniki jednobajtowe.
.It Xo
.Li \&%d , \&%i , \&%o ,
.Li \&%u , \&%X , \&%x 
.Xc
Domyślnie cztery bajty, wspierane są też liczniki jedno i dwubajtowe.
.It Xo
.Li \&%E , \&%e , \&%f ,
.Li \&%G , \&%g 
.Xc
Domyślnie osiem bajtów, wspierane są też liczniki czterobajtowe.
.El
.Pp
Ilość danych, interpretowanych przez każdy napis formatujący jest sumą
danych wymaganych przez każdą jednostką formatującą, która jest obliczana
jako iteracja razy licznik bajtów.
.Pp
Wejście jest obsługiwane w ``blokach'', gdzie blok jest zdefiniowany jako
największa porcja danych, podanych przez dowolny z napisów formatujących.
Napisy formatujące, które interpretują mniej danych niż zawartych jest w
bloku wejściowym, w którym ostatnia jednostka formatująca interpretuje pewną
liczbę bajtów i nie ma ustawionego określonwego licznka iteracji, mają
zwiększany licznik iteracji, aż cały blok nie zostanie przetworzony, lub aż
zabraknie danych do zadowolenia napisu formatującego.
.Pp
Jeśli w wyniku specyfikacji użytkownika, lub modyfikacji licznika iteracji
przez hexdump, licznik iteracji jest większy niż jeden, to podczas ostatniej
iteracji nie są wyświetlane końcowe białe spacje.
.Pp
Błędem jest podawanie licznika bajtów razem z wieloma znakami/napisami
konwersji, chyba że wszystkie poza jednym znakiem/napisem konwersji są
.Cm \&_a
lub
.Cm \&_A .
.Pp
Jeśli w wyniku podania opcji
.Fl n
osiągnięty zostanie EOF, dane wejściowe zadowolą napis formatujący tylko
częściowo, blok wejściowy jest wypełniony zerami, wystarczająco aby
wyświetlić wszystkie dostępne dane (np. wszystkie jednostki formatujące,
zachodzące za koniec danych będą wyświetlały jakąś liczbę bajtów zera).
.Pp
Dalsze wyjście takich napisów formatujących jest zamieniane odpowiadającą
ilością spacji. Odpowiadająca ilość spacji jest zdefiniowana jako liczba
wyjścia spacji przez znak konwersji
.Cm s
z tym samym polem i precyzją co oryginalny znak konwersji, lub napis
konwersji, lecz z usuniętymi wszelkimi znakami flag
.Dq Li \&+ ,
.Dq \&\ \& ,
.Dq Li \&#
i wskazującym na napis NULL.
.Pp
Jeśli nie podano napisów formatujących, domyślne wyświetlanie jest
równoważne podaniu opcji
.Fl x .
.Pp
.Nm hexdump
kończy działanie z kodem zera po sukcesie i większym od zera po błędzie.
.Sh PRZYKŁADY
Wyświetl wyjście w przestudiowanym formacie:
.Bd -literal -offset indent
"%06.6_ao "  12/1 "%3_u "
"\et\et" "%_p "
"\en"
.Ed
.Pp
Implementuj opcję \-x:
.Bd -literal -offset indent
"%07.7_Ax\en"
"%07.7_ax  " 8/2 "%04x " "\en"
.Ed
.Sh ZOBACZ TAKŻE
.Xr adb 1
.Sh "INFORMACJE O TŁUMACZENIU"
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i 
\fImoże nie być aktualne\fR. W razie zauważenia różnic między powyższym opisem
a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie 
się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia:
.br
man \-\-locale=C 1 hexdump
.Pp
Prosimy o pomoc w aktualizacji stron man \- więcej informacji można znaleźć pod
adresem http://sourceforge.net/projects/manpages\-pl/.
