Назва

tr - перекладає або видаляє знаки

Стисло

tr [ОПЦІЯ]... НАБІР1 [НАБІР2]

Опис

Програма, що замінює, стискає і/або видаляє знаки зі стандартного вводу, запусуючи до стандартного виводу.

-c, --complement : Спершу доповнити НАБІР1.

-d, --delete : Видалити знаки з НАБОРУ1, не перекладати.

-s, --squeeze-repeats : Замінити кожну послідовність повторних знаків, перечислених у НАБОРІ1 на один знак.

-t, --truncate-set1 : Спершу зітнути НАБІР1 до довжини НАБОРУ2.

--help : Вивести допомогу у використанні та завершити роботу.

--version : Вивести інформацію про версію програми та завершити роботу.

НАБОРИ вказано як символьні ланцюжки. Більшість знаків представляють самих себе. Інтерпретованими послідовностями являються:

**NNN : Знаки з вісімковим значенням NNN (1 до 3-ох вісімкових цифр).

\ : Обернений слеш.

\a : Сигнал двоника (BELL набору ASCII).

\b : Реверс.

\f : Зміна сторінки.

\n : Новий рядок.

\r : Повернення каретки.

\t : Горизонтальна табуляція.

\v : Вертикальна табуляція.

ЗНАК1-ЗНАК2 : Всі знаки, починаючи зі ЗНАКУ1 і закінчуючи ЗНАКОМ2 зростаючій послідовності.

[ЗНАК*] : Копіювати ЗНАК до НАБОРУ2 доти, доки не досягнуто довжини НАБОРУ1.

[ЗНАК*N] : N копій ЗНАКУ, N вважатиметься вісімковим, якщо починається з 0.

[:allnum:] : Усі літери і цифри. N вважатиметься вісімковим, якщо починається з 0.

[:allnum:] : Усі літери і цифри.

[:alpha:] : Усі літери.

[:blank:] : Усі горизонтальні пропуски.

[:cntrl:] : Усі керуючі послідовності.

[:digit:] : Усі цифри.

[:graph:] : Усі друковні знаки, пробіли не включаються.

[:lower:] : Усі літери нижнього регістру.

[:print:] : Усі друковні знаки, включаючи пробіли.

[:punct:] : Усі знаки пунктуації.

[:space:] : Усі горизонтальні або вертикальні пробіли.

[:upper:] : Усі літери верхнього регістру.

[:xdigit:] : Усі шістнадцяткові числа.

[=ЗНАК=] : Усі символи, еквівалентні ЗНАКОВІ.

Переклад-заміна знаків відбувається коли не вказано опцію -d і обидва, НАБІР1 i НАБІР2 присутні. Опцію -t можна використовувати тільки при перекладі. НАБІР2 продовжено до довжини НАБОРУ1 шляхом повтору останнього знаку, якщо необхідно. Зайві знаки НАБОРУ2 буде ігноровано. Тільки [:lower:] і [:upper:] гарантовано розкриються в зростаючій послідовності; якщо використати їх у НАБОРІ2 під час перекладу, вони вимагатимуть своєї пари в НАБОРІ1 для того, щоб добитися перетворення регістру. -s використовує НАБІР1, якщо не здійснюється переклад або видалення, у протилежному випадку, стискання використовує НАБІР2 і відбувається після перекладу або видалення.

Приклади

Поміняти літери верхнього регістру на нижній:

   cat file | tr '[A-Z]' '[a-z]'

   tr '[:upper:]' '[:lower:]' < file

Перетворити пробіли на символи нового рядка (код 012 ASCII):

   tr ' ' '\012' < file

Видалити порожні рядки у файлі і зберегти це в new.file, або використайте 011, щоб перетворити послідовну табуляцію на один крок:

   cat file | tr -s "" "\012" > new.file

   tr -s "" "\011" < file > new.file

Видалити двокрапки з файлу і зберегти це в new.file:

   tr -d : < file > new.file

Автор

Написано Jim Meyering.

Повідомлення про вади

Надсилайте повідомлення про вади на bug-coreutils@gnu.org.

Дивіться також

ed(1), sed(1)

Повна документація для tr підтримується в посібнику Texinfo. Якщо програми info та tr правильно встановлені, команда

info coreutils tr

надасть повну довідку.