Tr (Unix) - Tr (Unix)

tr
Команда tr
В tr команда
Оригинальный автор (ы)Дуг Макилрой
(AT&T Bell Laboratories )
Разработчики)Различный Открытый исходный код и коммерческий Разработчики
изначальный выпускНоябрь 1973 г.; 47 лет назад (1973-11)
Репозиторий Отредактируйте это в Викиданных
Операционная системаUnix, Unix-подобный, План 9, Inferno, ОС-9, MSX-DOS, IBM i
ПлатформаКроссплатформенность
ТипКоманда
Лицензияcoreutils: GPLv3 +

tr это команда в Unix, План 9, Inferno, и Unix-подобный операционные системы. Это аббревиатура от перевести или транслитерировать, указывающий на операцию замены или удаления определенных символов во входном наборе данных.

Обзор

Утилита читает поток байтов из своего стандартный ввод и записывает результат в стандартный вывод. Так как аргументы, он принимает два набора символов (обычно одинаковой длины) и заменяет вхождения символов в первом наборе соответствующими элементами из второго набора. Например,

tr 'abcd' jkmn '

отображает всех персонажей а к j, б к k, c к м, и d к п.

Набор символов можно сократить, используя диапазоны символов. Предыдущий пример можно было бы написать:

tr 'a-d' jkmn '

В POSIX -совместимые версии tr, набор, представленный диапазоном символов, зависит от локаль порядок сопоставления, поэтому безопаснее избегать диапазонов символов в сценариях, которые могут выполняться в локали, отличной от той, в которой они были написаны. Диапазоны часто можно заменить на POSIX наборы символов, такие как [:альфа:].

В s флаг причины tr для сжатия последовательностей идентичных смежных символов на выходе в один токен. Например,

tr -s ' n'

заменяет последовательности из одного или нескольких символов новой строки одной новой строкой.

В d флаг причины tr для удаления всех токенов указанного набора символов со своего ввода. В этом случае используется только один аргумент набора символов. Следующая команда удаляет символы возврата каретки.

tr -d ' r'

В c flag указывает дополнение первого набора символов. Призыв

tr -cd '[: alnum:]'

поэтому удаляет все не буквенно-цифровые символы.

Реализации

Оригинальная версия tr был написан Дуглас Макилрой и был представлен в Версия 4 Unix.[1]

Версия tr в комплекте GNU coreutils был написан Джимом Мейерингом.[2]

Команда также доступна в ОС-9 оболочка.[3]

А tr команда также является частью ASCII с Инструменты MSX-DOS2 для MSX-DOS версия 2.[4]

Большинство версий tr, включая GNU tr и классический Unix tr, работают с однобайтовыми символами и не Unicode совместимый. Исключением является Фамильный сундук с инструментами реализация, которая обеспечивает базовую поддержку Unicode.

В tr команда также была перенесена в IBM i Операционная система.[5]

Рубин и Perl также есть внутренний tr оператор, который действует аналогично.[6][7] Tcl с строковая карта Команда является более общей, поскольку она отображает строки в строки, в то время как tr отображает символы в символы.[8]

Смотрите также

использованная литература

  1. ^ Макилрой, М.Д. (1987). Читатель Research Unix: аннотированные выдержки из Руководства программиста, 1971–1986 (PDF) (Технический отчет). Вычислительная наука. AT&T Bell Laboratories. 139.
  2. ^ https://linux.die.net/man/1/tr
  3. ^ Пол С. Даян (1992). Гуру OS-9 - 1: Факты. Galactic Industrial Limited. ISBN  0-9519228-0-7.
  4. ^ Руководство пользователя MSX-DOS2 Tools от ASCII Corporation
  5. ^ IBM. "Qshell для программирования IBM System i версии 7.2" (PDF). Получено 2020-09-05.
  6. ^ "tr (String) - APIdock". APIdock. Получено 12 августа 2015.
  7. ^ "tr - perldoc.perl.org". perldoc.perl.org. Получено 12 августа 2015.
  8. ^ "Встроенные команды Tcl - строковая страница руководства". Получено 12 августа 2015.

внешние ссылки