Назва
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.
Дивіться також
Повна документація для tr підтримується в посібнику Texinfo. Якщо програми info та tr правильно встановлені, команда
info coreutils tr
надасть повну довідку.