Provided by: konwert_1.8-11.2build1_i386 bug

NAZWA

       trs - filtr zastępujący łańcuchy

UŻYCIE

       trs [-[r]e] 'ZASTPUJ_TO TYM [A_TO TYM]...'
       trs [-[r]f] PLIK

OPIS

       Kopiuje  stdin  na  stdout  zastępując każde wystąpienie danych napisów
       innymi. Podobnie jak tr(1), ale zamienia napisy, a nie tylko pojedyncze
       znaki.

       Reguły  (oddzielone odstępami) mogą być podane bezpośrednio po opcji -e
       albo mogą być przeczytane z PLIKU.  Argument  niepoprzedzony  przez  -e
       ani -f jest interpretowany jako skrypt, jeśli zawiera jakieś odstępy, a
       jako nazwa pliku, jeśli nie zawiera.

       Komentarze można umieszczać od # do końca linii. Znak # w napisach musi
       być zapisany jako \#.

       Można używać standardowych eskejpów jak w C: \a \b \e \f \n \r \t \v \\
       \nnn.  Dodatkowo \s oznacza spację, a \! - pusty łańcuch.

       Można określić zbiory dopuszczalnych znaków na danej  pozycji  pomiędzy
       \[  a  ].   Zakresy  ASCII  w  zbiorach  mogą  być krótko zapisane jako
       PIERWSZY-OSTATNI.  Jeśli zbiór składa się tylko z pojedynczego zakresu,
       \[ i \] mogą być pominięte.

       Jeśli  część  napisu  do  zastąpienia jest ujęta w \{...\}, to tylko ta
       część jest zastępowana. Tekst poza \{...\} pełni  rolę  warunku:  napis
       jest  tłumaczony  tylko  jeśli  jest poprzedzony danym tekstem i za nim
       jest inny.  \{ na początku albo \} na końcu napisu mogą być  pominięte.
       Tekst poza \{...\} jest traktowany jako nieprzetłumaczony.

       Przed  początkiem  pliku  i  poza  jego  końcem  są tylko znaki \n.  Na
       przykład \n\{.\}\n znajduje . stojącą samodzielnie w linii, włączając w
       to pierwszą linię, albo ostatnią nawet bez znacznika 0f[R].

       Fragment postaci \?x=N, gdzie x jest literą A-Za-z, a N jest cyfrą 0-9,
       zawarty w napisie docelowym przypisuje zmiennej x wartość N, kiedy dana
       reguła  jest użyta. Taki fragment w napisie źródłowym powoduje, że dana
       reguła jest brana pod uwagę tylko jeśli ta  zmienna  ma  taką  wartość.
       Początkowo  wszystkie zmienne mają wartość 0.  Może być wiele przypisań
       lub warunków w jednej  regule  -  warunki  muszą  być  wtedy  wszystkie
       prawdziwe i wykonywane są wszystkie przypisania.

   OPCJE
       -e     Podaje reguły konwersji bezpośrednio w linii poleceń.

       -f     Pobiera je z danego pliku.

       -r     Odwraca  każdą  regułę. Dotyczy to tylko następnej opcji -e albo
              -f.  Oczywiście to nie musi dać  odwrotnego  tłumaczenia!  Każda
              reguła  zawierająca  któreś  z  \{\}\[\]\{\}\- jest uwzględniana
              tylko w jednym kierunku. Można wymusić, żeby dowolna reguła była
              uwzględniana  tylko  w  jednym  kierunku,  umieszczając napis do
              przetłumaczenia w \{...\}.

       --help wyświetla opis i wychodzi

       --version
              wyświetla informację o wersji i wychodzi

       Może być wiele opcji -e albo -f.  Wszystkie reguły  są  wtedy  ładowane
       razem, przy czym wcześniejsze mają pierwszeństwo.

PRZYKŁAD

       $ echo Leeloo |trs -e 'el n e i i aqq o\}\n x o u'
       Linux

CZYM SIĘ TO RÓŻNI OD seda

       Podstawowa różnica pomiędzy trsem a sed 's///g; ...' (wyłączając sedowe
       wyrażenia regularne) jest  taka,  że  sed  patrzy  na  każdą  regułę  w
       kolejności  ich podania i stosuje ją do całej linii filtrowanego pliku,
       podczas gdy trs bada każdą pozycję i próbuje wszystkich  reguł  na  tej
       pozycji  najpierw.  W  sedzie  każda reguła dostaje tekst wyprodukowany
       przez poprzednią, a  w  trsie  każdy  kawałek  tekstu  jest  tłumaczony
       najwyżej  raz  (jeśli  więcej niż jedna reguła pasuje na danej pozycji,
       reguła wymieniona  wcześniej  wygrywa).  Właśnie  dlatego  sed  niezbyt
       nadaje się do tłumaczenia między zestawami znaków. Z drugiej strony, tr
       tłumaczy tylko pojedyncze bajty, więc nie może być użyty  do  konwersji
       Unikodu  ani TeXowych / SGMLowych sposobów zapisu rozszerzonych znaków.

       Inny przykład:
       $ echo 642 |trs -e '4 7 72 66 64 4'
       42
       $ echo 642 |sed 's/4/7/g; s/72/66/g; s/64/4/g'
       666

       Napis do zamiany może być pusty; musi wtedy być coś poza \{\}.   W  tym
       szczególnym  przypadku  tylko jedna taka reguła tworząca z niczego może
       być zastosowana na danej pozycji. Na przykład \}\x80\-\xFF @  poprzedza
       każdy znak z ustawionym najwyższym bitem przez @.  Reguła postaci coś\{
       tam nie działa na końcu pliku.

ZOBACZ TEŻ

       tr(1), konwert(1)

COPYRIGHT

       Konwert jest pakietem służącym do konwersji między różnymi  kodowaniami
       znaków.

       Copyright (c) 1998 Marcin 'Qrczak' Kowalczyk

       Niniejszy   program  jest  oprogramowaniem  wolnodostępnym;  możesz  go
       rozprowadzać dalej i/lub modyfikować na warunkach Powszechnej  Licencji
       Publicznej GNU, wydanej przez Fundację Wolnodostępnego Oprogramowania -
       według wersji 2-giej tej Licencji lub którejś z późniejszych wersji.

       Niniejszy program  rozpowszechniany  jest  z  nadzieją,  iż  będzie  on
       użyteczny   -  jednak  BEZ  JAKIEJKOLWIEK  GWARANCJI,  nawet  domyślnej
       gwarancji  PRZYDATNOŚCI  HANDLOWEJ  albo  PRZYDATNOŚCI  DO  OKREŚLONYCH
       ZASTOSOWAŃ. W celu uzyskania bliższych informacji - Powszechna Licencja
       Publiczna GNU.

       Z pewnością wraz  z  niniejszym  programem  otrzymałeś  też  egzemplarz
       Powszechnej  Licencji  Publicznej  GNU;  jeśli  nie  -  napisz  do Free
       Software Foundation, Inc., 59  Temple  Place,  Suite  330,  Boston,  MA
       02111-1307  USA

AUTOR

        __("<   Marcin Kowalczyk * qrczak@knm.org.pl http://qrczak.home.ml.org/
        \__/       GCS/M d- s+:-- a21 C+++>+++$ UL++>++++$ P+++ L++>++++$ E->++
         ^^                W++ N+++ o? K? w(---) O? M- V? PS-- PE++ Y? PGP->+ t
       QRCZAK                  5? X- R tv-- b+>++ DI D- G+ e>++++ h! r--%>++ y-