tr w systemie Unix/Linux z przykładami

The tr Command to narzędzie wiersza poleceń systemu UNIX służące do tłumaczenia lub usuwania znaków. Obsługuje szereg transformacji, w tym wielkie i małe litery, wyciskanie powtarzających się znaków, usuwanie określonych znaków oraz podstawowe wyszukiwanie i zamienianie. Można go używać z potokami UNIX w celu obsługi bardziej złożonych tłumaczeń. tr oznacza tłumaczenie.

Składnia:

 $ tr [OPTION] SET1 [SET2] 

Opcje -c: uzupełnia zestaw znaków w ciągu, tj. operacje dotyczą znaków spoza podanego zestawu -d: usuwa z wyniku znaki z pierwszego zestawu. -s: zastępuje powtarzające się znaki ze zbioru 1 pojedynczym wystąpieniem -t: obcina zbiór 1.

Przykładowe polecenia

1. Jak zamienić małe litery na wielkie. Aby przekonwertować znaki z małych na wielkie, możesz określić zakres znaków lub skorzystać z predefiniowanych klas znaków.

 $ cat greekfile 

Wyjście:

WELCOME TO techcodeview.com 
 $ cat greekfile | tr [a-z] [A-Z] 

Wyjście:

WELCOME TO GEEKSFORGEEKS 

Lub

 $ cat greekfile | tr [:lower:] [:upper:] 

Wyjście:

WELCOME TO GEEKSFORGEEKS 

Alternatywnie możesz podać dane wejściowe dla pliku tr polecenie wykorzystujące przekierowanie:

 tr [:lower:] [:upper:] 

Wyjście:

WELCOME TO GEEKSFORGEEKS 

2. Jak przetłumaczyć białe znaki na tabulatory. Poniższe polecenie tłumaczy wszystkie białe znaki na tabulatory

 $ echo 'Welcome To techcodeview.com' | tr [:space:] '	' 

Wyjście:

Welcome To techcodeview.com 

W poprzednim przykładzie możemy również użyć przekierowania, aby zapewnić dane wejściowe tr . Chociaż tym razem użyjemy do tego ciągu znaków:

 tr [:space:] '	'  < < < 'Welcome To techcodeview.com' 

Wyjście:

Welcome To techcodeview.com 

3. Jak przetłumaczyć nawiasy klamrowe na nawiasy. Możesz także tłumaczyć z i do pliku. W tym przykładzie przetłumaczymy nawiasy klamrowe w pliku z nawiasami.

 $ cat greekfile 

Wyjście:

{WELCOME TO} techcodeview.com 
 $ tr '{}' '()' newfile.txt 

Wyjście:

(WELCOME TO) techcodeview.com 

Powyższe polecenie odczyta każdy znak z geekfile.txt, przetłumaczy, jeśli jest to nawias klamrowy, i zapisze dane wyjściowe do newfile.txt.

4. Jak wycisnąć sekwencję powtarzających się znaków za pomocą opcji -s. Aby wycisnąć powtarzające się wystąpienia znaków określonych w zestawie, użyj opcji -s. Spowoduje to usunięcie powtarzających się wystąpień znaków z ostatniego określonego SET-u. LUB możemy to powiedzieć, możesz przekonwertować wiele ciągłych spacji na jedną spację

 $ echo 'Welcome To techcodeview.com' | tr -s ' ' 

Wyjście:

Welcome To techcodeview.com 

I ponownie wykonaj to samo zadanie, ale używając tutaj ciągu znaków:

 tr -s ' '  < < < 'Welcome To techcodeview.com' 

Wyjście:

Welcome To techcodeview.com 

5. Jak usunąć określone znaki za pomocą opcji -d. Aby usunąć określone znaki, użyj opcji -d. Ta opcja usuwa znaki z pierwszego określonego zestawu.

 $ echo 'Welcome To techcodeview.com' | tr -d W 

Wyjście:

elcome To techcodeview.com 

Lub równoważnie użyj:

 tr -d W  < < < 'Welcome to techcodeview.com' 

Wyjście:

elcome To techcodeview.com 

6. Aby usunąć wszystkie cyfry z ciągu, możesz użyć

 $ echo 'my ID is 73535' | tr -d [:digit:] 

Lub

 $ tr -d [:digit:]  < < < 'my ID is 73535' 

Wyjście:

my ID is 

7. Jak uzupełnić zbiory za pomocą opcji -c Możesz uzupełnić SET1 za pomocą opcji -c. Na przykład, aby usunąć wszystkie znaki z wyjątkiem cyfr, możesz użyć następujących poleceń.

 $ echo 'my ID is 73535' | tr -cd [:digit:] 

Lub

 $ tr -cd [:digit:]  < < < 'my ID is 73535' 

Wyjście:

73535