Provided by: manpages-pl_20051117-1_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  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.