TR(1)
НАЗВАНИЕ
tr - преобразование символов
СИНТАКСИС
tr [-c] [-d] [-s] [цепочка_1 [цепочка_2]]
ОПИСАНИЕ
Команда tr копирует стандартный ввод на стандартный вывод с заменой либо удалением выбранных символов. Введенные символы, найденные в цепочке_1, заменяются на
соответствующие символы из цепочки_2. Допускаются любые
комбинации опций -cds:
-c | Цепочка_1 заменяется ее дополнением до множества
ASCII-символов с восьмеричными кодами от 001 до
377.
|
---|
-d | Все входные символы, принадлежащие цепочке_1, будут удалены.
|
---|
-s | Последовательности одинаковых входных символов,
принадлежащих цепочке_2, сжимаются до одного.
|
---|
Чтобы помещать в цепочки отрезки алфавита и повторяющиеся символы, можно использовать следующие сокращения:
[c1-c2] |
Обозначает цепочку символов, коды ASCII которых
принадлежат отрезку от кода символа c1 до c2.
|
---|
[c*n] |
Обозначает символ c, повторенный n раз. Если первая цифра в n есть 0, n рассматривается как восьмеричное число; иначе - как десятичное. Нулевое
или отсутствующее n воспринимается как "очень много"; эта возможность полезна при дополнении цепочки_2 до длины цепочки_1.
|
---|
Управляющий символ можно использовать, как и в языке
shell, чтобы отменить трактовку символа в цепочке-аргументе как специального. Кроме того, , за которым идут
одна, две или три восьмеричные цифры, обозначает символ, код ASCII которого выражается этими цифрами.
ПРИМЕР
Следующая команда помещает список всех слов из файла
f1, по одному на строку, в файл f2. Под словом понимается максимальная последовательность букв. Цепочки-аргументы берутся в кавычки, чтобы shell не интерпретировал специальные символы; 012 - ASCII-код перевода строки.
tr -cs "[A-Z][a-z]" "[ 12*]" f2
СМ. ТАКЖЕ
ed(1), sh(1).
ascii(5) в Справочнике программиста.
СЮРПРИЗЫ
Символ ASCII NUL (код 000) не может входить ни в цепочку_1, ни в цепочку_2; всегда удаляется из ввода.
|