Команда tr | |
Автор (ы) | Дуг Макилрой. (ATT Bell Laboratories ) |
---|---|
Разработчик (и) | Различные разработчики с открытым исходным кодом и коммерческие |
Первоначальный выпуск | ноябрь 1973 г.; 46 лет назад (1973-11) |
Репозиторий | |
Операционная система | Unix, Unix-подобный, Plan 9, Inferno, OS-9, MSX-DOS, IBM i |
Платформа | Кросс-платформенность |
Тип | Команда |
Лицензия | coreutils : GPLv3 + |
tr- это команда в Unix, Plan 9, Inferno и Unix-подобных операционных системах. Это сокращение от translate или transliterate, указывающее на его операцию по замене или удалению определенных символов во входном наборе данных.
Утилита считывает поток байтов из своего стандартный ввод и записывает результат в стандартный вывод . Как arguments, он принимает два набора символов (обычно одинаковой длины) и заменяет вхождения символов в первом наборе соответствующими элементами из второго набора. Например,
tr 'abcd' 'jkmn'
отображает все символы a в j, b в k, c в m и d в n.
Набор символов можно сократить, используя диапазоны символов. Предыдущий пример можно было бы записать так:
tr 'ad' 'jkmn'
В POSIX -совместимых версиях tr
набор, представленный диапазон символов зависит от locale порядка сопоставления, поэтому безопаснее избегать диапазонов символов в сценариях, которые могут выполняться в языковом стандарте, отличном от того, в котором они были написаны. Диапазоны часто можно заменить наборами символов POSIX, такими как [: alpha:].
Флаг s
заставляет tr
сжимать последовательности идентичных соседних символов в его выводе в один токен. Например,
tr -s '\ n'
заменяет последовательности из одного или нескольких символов новой строки одной новой строкой.
Флаг d
заставляет tr
удалить все токены указанного набора символов из своего ввода. В этом случае используется только один аргумент набора символов. Следующая команда удаляет символы возврата каретки.
tr -d '\ r'
Флаг c
указывает дополнение первого набора символов. Таким образом, вызов
tr -cd '[: alnum:]'
удаляет все не буквенно-цифровые символы.
Исходная версия tr
была написана Дугласом Макилроем и была представлена в версии 4 Unix.
Версия of tr
в составе GNU coreutils было написано Джимом Мейерингом.
Команда также доступна в OS-9 shell.
A tr
также является частью инструментов ASCII MSX-DOS2 для MSX-DOS версии 2.
Большинство версий tr
, включая GNU tr
и классический Unix tr
, работают с однобайтовыми символами и не совместимы с Unicode. Исключением является реализация Heirloom Toolchest, которая обеспечивает базовую поддержку Unicode.
Команда tr также была перенесена в операционную систему IBM i.
Ruby и Perl также имеют внутренний оператор tr, который работает аналогично. Команда преобразования строк в Tcl является более общей, поскольку она отображает строки в строки, в то время как tr отображает символы в символы.
В Викибуке Руководство по Unix есть страница по темам: Команды |
tr
- Справочник по командам и утилитам, Единая спецификация UNIX, выпуск 7 из The Open Group tr (1)
– FreeBSD Общие команды Руководство tr (1)
– Solaris 10 Справочник по командам пользователя Руководство tr (1)
– Linux Пользовательские Руководство - Команды пользователя}tr (1)
– Plan 9 Руководство программиста, том 1tr (1)
– Inferno Общие команды Примеры использования руководства