Provided by: manpages-pl_20060617-2_all bug

NAZWA

       tr - przetłumacz lub usuń znaki

SKŁADNIA

       tr  [-cst] [--complement] [--squeeze-repeats]
           [--truncate-set1] acuch1 acuch2

       tr  [-cs] [--complement] [--squeeze-repeats] acuch1

       tr  [-cd] [--complement] [--delete] acuch1

       tr  [-cds] [--complement] [--delete] [--squeeze-repeats]
           acuch1 acuch2

       tr  [--help] [--version]

OPIS

       Dokumentacja  niniejsza nie jest już utrzymywana i może być niedokładna
       lub niekompletna.  Autorytatywnym  źródłem  jest  obecnie  dokumentacja
       Texinfo.  Dostęp do niej uzyskasz wpisując w wierszu poleceń:
              pinfo tr
       lub
              info tr.

       Ta  strona  podręcznika  opisuje polecenie tr w wersji GNU.  tr kopiuje
       standardowe  wejście  na  standardowe  wyjście,  dokonując   jednej   z
       poniższych operacji:

              o przekład, opcjonalnie ściśnięcie powtórzonych znaków w wyniku
              o ściśnięcie powtórzonych znaków
              o usunięcie znaków
              o  usunięcie  znaków,  potem  ściśnięcie  powtórzonych  znaków w
              wyniku

       Argumenty acuch1 i (jeśli podany)  acuch2  definiują  uporządkowane
       zbiory  znaków,  poniżej  nazwane  zb1  i  zb2.   Owe zbiory to znaki z
       wejścia, na których działa tr.  Opcja --complement (-c)  zastępuje  zb1
       jego dopełnieniem (wszystkimi znakami, których nie ma w zb1).

   OKREŚLANIE ZBIORÓW ZNAKÓW
       Format   argumentów  acuch1  i  acuch2  przypomina  format  wyrażeń
       regularnych; jednakowoż, nie są  to  wyrażenia  regularne,  lecz  tylko
       listy  znaków.   Większość  znaków  w  tych  łańcuchach reprezentuje po
       prostu same  siebie,  ale  łańcuchy  mogą  też,  dla  wygody,  zawierać
       wyliczone  poniżej  skróty.   Niektórych  z  nich  można  użyć  tylko w
       acuch1 lub acuch2, jak zaznaczono poniżej.

       Odwrotny ukośnik, po którym nie  następuje  znak  spośród  wymienionych
       poniżej powoduje komunikat o błędzie.

       \a     Control-G.

       \b     Control-H.

       \f     Control-L.

       \n     Control-J.

       \r     Control-M.

       \t     Control-I.

       \v     Control-K.

       \ooo   Znak  o  wartości  podanej  przez  ooo,  czyli  od  1  do 3 cyfr
              ósemkowych.

       \\     Odwrotny ukośnik.

       Zakresy: notacja `m-n' interpretowana jest jako wszystkie znaki od m do
       n,  w  porządku  rosnącym.  m  powinno występować w porządku sortowania
       przed n; jeśli tak nie jest, następuje błąd.  Dla przykładu, `0-9' jest
       tym samym co `0123456789'.  Chociaż GNU tr nie obsługuje składni System
       V używającej nawiasów kwadratowych do zamykania  zakresów,  tłumaczenia
       określone  w  tym formacie nadal będą działać, o ile nawiasy w łańcuch1
       odpowiadają identycznym nawiasom w łańcuch2.

       Powtórzone znaki: notacja `[c*n]' w acuch2 interpretowana jest jako n
       kopii  znaku  c.  Tak więc `[y*6]' jest tym samym co `yyyyyy'.  Notacja
       `[c*]' w acuch2 rozszerzana jest na tyle kopii c, ile potrzeba na  to
       aby  zb2  był  tak  długi  jak  zb1.   Jeśli  n  zaczyna się od 0, jest
       reprezentowane ósemkowo, w przeciwnym razie dziesiętnie.

       Klasy znaków: notacji `[:nazwa-klasy:]' odpowiadają wszystkie  znaki  z
       (predefiniowanej)  klasy zwanej nazwa-klasy. Znaki nie są rozszerzane w
       jakimś szczególnym  porządku,  z  wyjątkiem  klas  'upper'  i  'lower',
       rozszerzanych  w  porządku rosnącym.  Gdy podano zarówno opcję --delete
       (-d) jak i --squeeze-repeats (-s) w acuch2 można  użyć  każdej  klasy
       znaków.   W  przeciwnym  razie  w  acuch2  akceptowane są tylko klasy
       znaków 'upper' i 'lower', i to tylko  wtedy,  kiedy  odpowiednie  klasy
       'upper'  i  'lower'  zostały określone na tej samej pozycji względnej w
       acuch1.  Takie postępowanie określa konwersję wielkości liter.  Nazwy
       klas  podano  niżej; jeśli poda się nieprawidłową nazwę klasy, powstaje
       błąd.

       alnum  Litery i cyfry.

       alpha  Litery.

       blank  Poziomy biały znak.

       cntrl  Znaki sterujące.

       digit  Cyfry.

       graph  Znaki drukowalne, z wyłączeniem spacji.

       lower  Małe litery.

       print  Znaki drukowalne, łącznie ze spacją.

       punct  Znaki interpunkcyjne.

       space  Pionowy lub poziomy biały znak (odstęp).

       upper  Duże litery.

       xdigit Cyfry szesnastkowe.

       Klasy równoważne: składnia `[=c=]' oznacza wszystkie  znaki  równoważne
       c,  bez szczególnej kolejności.  Klasy równoważne to niedawny wynalazek
       pomyślany dla obsługi alfabetów nie-angielskich.  Jednak nie  istnieje,
       zdaje  się,  standardowa  metoda  ich  zdefiniowania lub określenia ich
       zawartości.  Z tego powodu nie są one w pełni  zaimplementowane  w  GNU
       tr;  klasa  równoważna  każdego znaku składa się tylko z tego znaku, co
       obecnie czyni je konstrukcją bezużyteczną.

   TŁUMACZENIE
       tr dokonuje tłumaczenia gdy podane są zarówno acuch1 jak i  acuch2,
       a  nie  podano  opcji  --delete  (-d).   tr tłumaczy każdy znak swojego
       wejścia znajdujący się w zb1 na odpowiedni znak w zb2.  Znaki,  których
       nie  ma  w zb1 przepuszczane są w postaci niezmienionej. Gdy jakiś znak
       pojawia się więcej niż jeden raz w zb1, a odpowiadające mu znaki w  zb2
       nie  są  takie same, używany jest tylko ostatni z nich.  Dla przykładu,
       poniższe dwa polecenia są równoważne:
              tr aaa xyz
              tr a z
       Typowym zastosowaniem tr jest konwersja małych liter na duże.  Można to
       zrobić na wiele sposobów.  Oto trzy z nich:
              tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
              tr a-z A-Z
              tr '[:lower:]' '[:upper:]'
       Gdy  tr dokonuje tłumaczenia, zb1 i zb2 powinny normalnie być tej samej
       długości.  Jeśli zb1 jest krótszy od zb2, dodatkowe znaki na końcu  zb2
       są ignorowane.

       Z  drugiej  strony, podanie zb1 dłuższego od zb2 nie jest przewidziane:
       POSIX.2 mówi, że rezultat jest niezdefiniowany.  W takiej  sytuacji  tr
       BSD  wydłuża zb2 do długości zb1 powtarzając ostatni znak zb2 tyle razy
       ile potrzeba.  tr z System V obcina zb1 do długości zb2.

       Domyślnie, GNU tr załatwia ten przypadek tak jak robi to tr z BSD.  Gdy
       podano  opcję  --truncate-set1  (-t) GNU tr obsługuje ten przypadek tak
       jak wersja z System V.  Opcja ta jest ignorowana  dla  operacji  innych
       niż tłumaczenie.

       Zachowywanie  się  jak  tr  z System V w tym przypadku psuje stosunkowo
       częsty idiom z BSD:
              tr -cs A-Za-z0-9 '\012'
       ponieważ konwertuje na znaki nowej linii tylko bajty  zerowe  (pierwszy
       element dopełnienia zb1), a nie wszystkie znaki nie-alfanumeryczne.

   ŚCISKANIE POWTÓRZEŃ I USUWANIE
       Jeśli  podano  tylko  opcję --delete (-d), tr usuwa z wejścia wszystkie
       znaki znajdujące się w zb1.

       Jeśli podano tylko opcję --squeeze-repeats (-s), tr zastępuje w wejściu
       każdą  sekwencję powtórzonych znaków znajdujących się w zb1 pojedynczym
       wystąpieniem tegoż znaku.

       Jeśli  podano  zarówno  opcję  --delete  jak  i  --squeeze-repeats,  tr
       najpierw   wykonuje  wszelkie  usunięcia  używając  zb1,  potem  ściska
       powtórzenia pozostałych znaków używając zb2.

       Opcji  --squeeze-repeats  można  także  używać   podczas   tłumaczenia.
       Wówczas  tr  najpierw  dokonuje  tłumaczenia,  potem ściska powtórzenia
       pozostałych znaków używając zb2.

       Oto kilka przykładów ilustrujących różne kombinacje opcji:

       Usuwanie wszystkich bajtów zerowych:
              tr -d '\000'

       Umieszczenie każdego słowa w osobnej linii.   Konwertuje  to  wszystkie
       znaki  nie-alfanumeryczne  na  znaki  nowej  linii,  potem ściska każdy
       łańcuch powtórzonych nowych linii w pojedynczą nową linię:
              tr -cs '[a-zA-Z0-9]' '[\n*]'

       Konwersja każdej sekwencji powtórzonych nowych linii w pojedynczą  nową
       linię:
              tr -s '\n'

       Wyszukiwanie  w  dokumencie  podwójnych  wystąpień  słów.  Na przykład,
       zdarza się pisanie "do do",  powtórzonych  słów  rozdzielonych  znakiem
       nowej  linii.  Poniższy skrypt powłoki Bourne'a najpierw zamienia każdą
       sekwencję znaków interpunkcyjnych i znaków pustych na  pojedynczy  znak
       nowej  linii. Powoduje to umieszczenie każdego "słowa" w osobnej linii.
       Następnie zamienia  wszystkie  duże  litery  na  małe,  i,  na  koniec,
       uruchamia  `uniq' z opcją `-d', co powoduje wypisanie tylko słów, które
       były powtórzone obok siebie.
              #!/bin/sh
              cat "$@" \
                 | tr -s '[:punct:][:blank:]' '0 \
                 | tr '[:upper:]' '[:lower:]' \
                 | uniq -d

       GNU tr akceptuje także następujące opcje, w kombinacji z innymi:

       --help Wyświetla informację o stosowaniu programu i dostępnych opcjach,
              kończy pracę.

       --version
              Wyświetla numer wersji programu i kończy pracę.

   KOMUNIKATY OSTRZEGAWCZE
       Ustawienie  zmiennej  środowiskowej  POSIXLY_CORRECT  wyłącza  niektóre
       ostrzeżenia i komunikaty o błędach, dla ścisłej  zgodności  z  POSIX.2.
       Komunikaty te występują normalnie w następujących okolicznościach:

       1.  Gdy  podano  opcję  --delete,  ale  nie --squeeze-repeats, a podano
       acuch2, GNU tr domyślnie wypisuje komunikat o użyciu i kończy  pracę,
       ponieważ  acuch2  nie  zostałby  użyty.   Specyfikacja POSIX mówi, że
       acuch2 należy w tej sytuacji zignorować.  Jednak milczące ignorowanie
       argumentów to zły pomysł.

       2.  Gdy  podano  niejednoznaczne  specjalne  sekwencje  ósemkowe.   Dla
       przykładu, \400 to faktycznie  \40  plus  cyfra  0,  ponieważ  ósemkowa
       wartość 400 nie mieści się w pojedynczym bajcie.

       Zauważ że GNU tr nie zapewnia pełnej zgodności z BSD lub System V.  Dla
       przykładu, nie istnieje  opcja  wyłączająca  interpretację  konstrukcji
       POSIX-owych  [:alpha:],  [=c=],  i  [c*10].   GNU  tr  nie  usuwa także
       automatycznie bajtów zerowych, w  odróżnieniu  od  tradycyjnych  wersji
       UNIXowych, w których nie ma sposobu zachowania bajtów zerowych.

ZGŁASZANIE BŁĘDÓW

       Błędy proszę zgłaszać, w jęz. ang., do <bug-textutils@gnu.org>.

COPYRIGHT

       Copyright (C) 1999 Free Software Foundation, Inc.
       This is free software; see the source for copying conditions.  There is
       NO warranty; not even for MERCHANTABILITY or FITNESS FOR  A  PARTICULAR
       PURPOSE.

ZOBACZ TAKŻE

       expand(1), unexpand(1), textutils(1).

OD TŁUMACZA

       Zaktualizowano  i  poszerzono  wg  dokumentacji  Texinfo  dla  narzędzi
       tekstowych GNU wersji 2.0.