команда tr в Unix/Linux із прикладами

The тр command — утиліта командного рядка UNIX для перекладу або видалення символів. Він підтримує низку перетворень, включаючи перетворення великих літер у малі, стискання символів, що повторюються, видалення певних символів, а також базовий пошук і заміну. Його можна використовувати з конвеєрами UNIX для підтримки більш складного перекладу. tr означає переклад.

Синтаксис:

 $ tr [OPTION] SET1 [SET2] 

Опції -c : доповнює набір символів у рядку, тобто операції застосовуються до символів, які не входять до даного набору. -d : видаляє символи з першого набору з виводу. -s : замінює повторювані символи, перелічені в наборі1, одним входом -t : скорочує набір1.

Зразки команд

1. Як перетворити символи нижнього регістру на великі. Щоб перетворити символи з нижнього регістру на верхній, ви можете вказати діапазон символів або використати попередньо визначені класи символів.

 $ cat greekfile 

Вихід:

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

Вихід:

WELCOME TO GEEKSFORGEEKS 

або

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

Вихід:

WELCOME TO GEEKSFORGEEKS 

Крім того, ви можете надати дані для тр команда з використанням перенаправлення:

 tr [:lower:] [:upper:] 

Вихід:

WELCOME TO GEEKSFORGEEKS 

2. Як перевести пробіли у табуляції. Наступна команда перетворює всі пробіли в символи табуляції

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

Вихід:

Welcome To techcodeview.com 

У попередньому прикладі ми також можемо використати перенаправлення, щоб забезпечити введення для тр . Хоча цього разу ми використаємо для цього рядок тут:

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

Вихід:

Welcome To techcodeview.com 

3. Як перевести дужки в дужки. Ви також можете перекладати з і в файл. У цьому прикладі ми перекладемо дужки у файлі з дужками.

 $ cat greekfile 

Вихід:

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

Вихід:

(WELCOME TO) techcodeview.com 

Наведена вище команда зчитує кожен символ із geekfile.txt, перекладає, якщо це дужка, і записує вихідні дані у newfile.txt.

4. Як стиснути послідовність повторюваних символів за допомогою параметра -s. Щоб стиснути повторювані входження символів, указаних у наборі, використовуйте параметр -s. Це видаляє повторювані випадки символів останнього вказаного SET. АБО ми можемо сказати, що ви можете перетворити кілька безперервних пробілів за допомогою одного пробілу

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

Вихід:

Welcome To techcodeview.com 

І знову виконайте те саме завдання, але використовуючи тут рядок:

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

Вихід:

Welcome To techcodeview.com 

5. Як видалити вказані символи за допомогою параметра -d. Щоб видалити певні символи, використовуйте параметр -d. Цей параметр видаляє символи з першого вказаного набору.

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

Вихід:

elcome To techcodeview.com 

Або еквівалентно використовуйте:

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

Вихід:

elcome To techcodeview.com 

6. Щоб видалити всі цифри з рядка, ви можете використовувати

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

або

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

Вихід:

my ID is 

7. Як доповнити набори за допомогою параметра -c Ви можете доповнити SET1 за допомогою параметра -c. Наприклад, щоб видалити всі символи, крім цифр, ви можете скористатися наступним.

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

або

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

Вихід:

73535