Linux.pl
Opcje wyszukiwania podręcznika man:
Lista stron man zaczynających się od znaku:
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z   ALPHA   NUM   OTHER   ALL
TR(1)                     Narzędzia tekstowe GNU 2.0                     TR(1)

NAZWA
       tr - przetłumacz lub usuń znaki

SKŁADNIA
       tr  [-cst] [--complement] [--squeeze-repeats]
           [--truncate-set1] łańcuch1 łańcuch2

       tr  [-cs] [--complement] [--squeeze-repeats] łańcuch1

       tr  [-cd] [--complement] [--delete] łańcuch1

       tr  [-cds] [--complement] [--delete] [--squeeze-repeats]
           łańcuch1 łańcuch2

       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 łańcuch1 i (jeśli podany)  łańcuch2  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  łańcuch1 i łańcuch2 przypomina format wyrażeń regu-
       larnych; 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 łańcuch1 lub łańcuch2,
       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 łańcuch2 interpretowana jest jako n
       kopii  znaku  c.  Tak więc `[y*6]' jest tym samym co `yyyyyy'.  Notacja
       `[c*]' w łańcuch2 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', rozsz-
       erzanych  w  porządku rosnącym.  Gdy podano zarówno opcję --delete (-d)
       jak i --squeeze-repeats (-s) w łańcuch2 można użyć każdej klasy znaków.
       W przeciwnym razie w łańcuch2 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 łańcuch1.  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 łańcuch1 jak i łańcuch2,
       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
       łańcuch2,  GNU tr domyślnie wypisuje komunikat o użyciu i kończy pracę,
       ponieważ łańcuch2 nie zostałby  użyty.   Specyfikacja  POSIX  mówi,  że
       łańcuch2 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  tek-
       stowych GNU wersji 2.0.

sierpień 1999                         FSF                                TR(1)

Time taken: 0.00044 seconds


Created with the man page lookup class by Andrew Collington, php@amnuts.com