Provided by:
konwert_1.8-11ubuntu3_i386 
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-