Главная
Новости
Строительство
Ремонт
Дизайн и интерьер

















Яндекс.Метрика

tr

tr (от англ. translate или transliterate) — Unix-утилита для преобразования символов. Утилита tr копирует стандартный входной поток в стандартный выходной, подставляя или удаляя некоторые символы. Заданные опции и операнды строка1 и строка2 управляют происходящим преобразованием по ходу копирования отдельных символов и последовательностей символов.

Использование

  • tr [-c | -C] [-s] строка1 строка2
  • tr -s [-c | -C] строка1
  • tr -d [-c | -C] строка1
  • tr -ds [-c | -C] строка1 строка2

Поддерживаются следующие опции:

-d Удаляет все вхождения символов, указанных в строке 1. При этом преобразование не производится. -s Замещает каждую последовательность повторяющихся символов, перечисленных в последней указанной строке, на единственный такой символ. -c, -C Использует набор символов дополнения строки 1. -t Сначала сократить строку 1 до размера строки 2. Если эта опция не указана, то размер строки 2 подгоняется под размер строки 1: если она больше, то обрезается, если меньше, то дополняется последним символом.

Примеры

Замена a на j, b на k, c на m, d на n в стандартном входе.

tr 'abcd' 'jkmn'

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

tr 'a-d' 'jkmn'

В этом примере создается список всех слов в файле file1, который помещается в файл file2 по одному слову в строке:

tr -cs "[:alpha:]" "[ *]" < file1 > file2

Следующая команда переводит все символы нижнего регистра в файле file1 в верхний регистр и записывает результат в стандартный выходной поток:

tr "[:lower:]" "[:upper:]" < file1

В этом примере используется класс эквивалентности для выявления акцентированных вариантов базового символа e в файле file1, из которых удаляются диакритические знаки, и результат записывается в файл file2:

tr "[=e=]" e < file1 > file2

Извлечь строчные буквы английского алфавита из генератора псевдослучайных чисел /dev/urandom:

cat /dev/urandom | tr -dc "a-z"

Сгенерировать 10 паролей длиной 20 символов, состоящих из заглавных и строчных буквы английского алфавита и спец. символов:

cat /dev/urandom | tr -dc 'A-Za-z0-9!@#$%^&*()-_=+?;:' | fold -w 20 | head -n 10