Artur Pyszczuk's blog...

"'less' is more, but more 'more' than 'more' is, so 'more' is less 'less', so use more 'less' if you want less 'more'"
Slackbook, Chapter 10 Handling Files and Directories
/home/linux/commands/tr/

tr - Przetłumacz, albo usuń znaki

Polecenie tr umożliwia zmianę znaków na inne, usuwanie nadmiernej ilości znaków (np. spacji, kropek, itp.). Ogólna składnia polecenia ma się następująco:

$ tr [OPCJE] SET1 [SET2]

Gdzie jako SET1 i SET2 rozumiemy znaki, które mają być wzorcami do zamiany. Jeśli narazie nie jest to jasne, nie ma co się przejmować, poniżej zostanie to wyjaśnione wraz z przykładami zastosowania polecenia tr.

Polecenie tr
Rys 1. Polecenie tr - Zmiana z małych na duże litery.


Jak widać na rysunku 1, podajemy nazwę polecenia - tr beż żadnych opcji, jako SET1 wpisujemy 'a-z', a jako SET2 'A-Z'. W ogólnej składni polecenia tr SET2 zosało napisane w nawiasach kwadratowych, a to dlatego, że nie jest wymagane przy niektórych opcjach polecenia tr (o tym za chwilę).
Jak to działa? A więc wpisujemy polecenie tak jak widoczne jest na rysunku 1. Terminal będzie czekał, aż wpiszemy tekst i wciśniemy enter. Po wciśnięciu klawisza enter, polecenie wykonuje swoją rolę. W tym przypadku tłumaczy (zamienia) wszystki pobrane znaki zawarte w przedziale 'a-z' na znaki zawarte w przedziale A-Z, czyli krótko mówiąc zmienia wielkość liter, z małych na duże.
W tym miejscu trzeba wspomnieć, że zakres znaków, które podajemy musi być odpowiedni, tzn. 'a-z' jest poprawnym zakresem, natomiast 'z-a' nie jest poprawnym zakresem i terminal wyświetli błąd:

tr: range-endpoints of `Z-A' are in reverse collating sequence order

Aby usunąć niektóre znaki, musimy je zdefiniować w SET1. W tym miejscu nie trzeba, a właściwie nie można ustawiać SET2, lecz trzeba ustawić opcję -d, która jest odpowiedzialna za znaki. Rysunek 2 pokazuje w jaki sposób można usunąć wszystkie kropki.

Polecenie tr
Rys 2. Polecenie tr - Usuwanie wszystkich kropek.


Opcja -s pozwala na usunięcie nadmiarowej ilości znaków ustawionych w SET1 i pozostawienie tylko jednego. Rysunek 3 pokazuje składnie i efekt działania tego polecenia.

Polecenie tr
Rys 3. Polecenie tr - Usuwanie nadmiarowej ilości kropek.



Wiecej informacji na temat programu tr znajdziesz w podreczniku systemowym man.
Wpisujac w konsoli man tr

Wiecej informacji na temat programu tr znajdziesz również w programie info.
Wpisujac w konsoli info coreutils 'tr invocation'

Some rights reserved 2010 - 2015 Artur Pyszczuk

| Strona Główna | Kontakt |