01:42 man tr |
НАЗВАНИЕ tr - выполняет символьное преобразование путём подстановки или удаления символов СИНТАКСИС tr [ОПЦИЯ]... СТРОКА_1 [СТРОКА_2] ОПИСАНИЕ Выполняет преобразование, подстановку (замену), сокращение и/или удаление символов, поступающих со стандартного ввода, записывая результат на стандартное устройство вывода. Она часто применяется для удаления управляющих символов из файла или преобразования регистра символов. Как правило, команде tr передаются две строки (набора) символов: первый набор СТРОКА_1 содержит искомые символы, а второй СТРОКА_2 - те, на которые их следует заменить. При запуске команды устанавливается соответствие между символами обоих наборов, а затем начинается преобразование. ОПЦИИ -c, --complement замещает первый набор символов СТРОКИ_1 его дополнением (всеми символами, отсутствующими в СТРОКЕ_1) -d, --delete удаляет все символы, которые перечислены в наборе СТРОКА_1 без преобразования -s, --squeeze-repeats заменяет последовательность повторяющихся символов в наборе СТРОКА_1 на один такой символ (т.е. удаляет все повторяющиеся символы, кроме первого) -t, --truncate-set1 ограничивает (делает обрезание) набор СТРОКА_1, если он длиннее набора СТРОКА_2 --help выводит справку и завершает работу --version выводит информацию о версии и завершает работу СТРОКИ - это строки символов. При указании команде tr содержимого наборов СТРОКА_1 или СТРОКА_2 используются только диапазоны и последовательности символов либо отдельные символы: \NNN восьмеричное число, состоящее из трёх цифр NNN и представляющее любой действительный символ в коде ASCII \\ символ обратной косой черты (backslash) \a символ - звонок (BEL) \b символ возврата на одну позицию (забой, backspace) \f символ прокрутки страницы \n символ новой строки \r символ возврата каретки (return) \t символ горизонтальной табуляции (tab) \v символ вертикальной табуляции СИМВОЛ1-СИМВОЛ2 все символы из диапазона от СИМВОЛ1 до СИМВОЛ2 включительно [СИМВОЛ*] указанный в наборе СТРОКА_2, выполняет копирование СИМВОЛА в количестве равном длине набора СТРОКА_1 [СИМВОЛ*РАЗ] копировать заданное количество РАЗ СИМВОЛ; если количество РАЗ начинается с 0 - это означает, что оно задано в восьмеричной форме [:alnum:] все буквы и цифры [:alpha:] все буквы [:blank:] все горизонтальные символы пробела (пробел, табуляция) [:cntrl:] все управляющие символы [:digit:] все цифры [:graph:] все печатные символы, исключая пробел [:lower:] все строчные буквы (нижнего регистра) [:print:] все печатные символы, включая пробел [:punct:] все знаки пунктуации [:space:] все горизонтальные или вертикальные пробелы [:upper:] все прописные буквы (ВЕРХНЕГО регистра) [:xdigit:] все шестнадцатеричные цифры [=СИМВОЛ=] все символы, которые эквивалентны СИМВОЛУ Если заданы оба набора символов и не указан параметр -d, команда tr преобразует каждый символ СТРОКИ_1 в соответствующий символ СТРОКИ_2. Параметр -t используется только при преобразованиях. В случае необходимости, СТРОКА_2 расширяется до длины СТРОКИ_1, повторением её последнего символа. Лишние символы СТРОКИ_2 игнорируются. Гарантированно могут расширяться в порядке возрастания только диапазоны [:lower:] и [:upper:]; используя их во время преобразования в СТРОКЕ_2, они должны быть заданы только в паре, чтобы определить вариант преобразования. Параметр -s использует СТРОКУ_1 в том случае, если не выполняется преобразование или удаление; иначе выполняется сокращение повторяющихся символов с использованием СТРОКИ_2, а после этого выполняется преобразование или удаление. Следует помнить, что при замене строки или диапазона символов одним символом, этот символ не указывается в квадратных скобках ([]), хотя в некоторых системах допускается применение квадратных скобок, причём для указания, например, символа новой строки можно воспользоваться шаблоном ["\012"] или "\012". Команда tr не предъявляет строгих требований к виду кавычек. Поэтому не следует удивляться, если эта утилита действует даже в том случае, когда вместо одинарных используются двойные кавычки. Подобно большинству системных команд, tr восприимчива к специальным символам. Поэтому если необходимо выполнить сопоставление с одним из таких символов, его следует предварительно отделить обратной косой чертой, например, \{ - для отмены специального значения фигурной скобки. ПРИМЕРЫ Сохранение выходного результата в файл file.out: $ tr -s "[a-z]" < file.in > file.out Устранение повторяющихся символов: $ cat file.in Andd theee cccoowss wwwweeennt hoommeeee $ tr -s "[a-z]" < file.in And the cows went home Преобразование прописных в строчные: $ cat MY.FILE | tr "[A-Z]" "[a-z]" > file.my или $ cat MY.FILE | tr "[:upper:]" "[:lower:]" > file.my Удаление пустых строк (восьмеричный код символа \n - \012): $ tr -s "[\012]" < file.EmptyLines или $ tr -s "[\n]" < file.EmptyLines Удаление определённых символов (в примере удаляются не буквенные символы): $ cat diary.log Monday 09:26 Tuesday 11:45 Wednesday 11:30 Thursday 10:56 Friday 09:35 $ tr -cs "[a-z] [A-Z]" "[\n*]" < diary.log Monday Tuesday Wednesday Thursday Friday Преобразование "концов строк" из DOS в UNIX: $ tr -s "\015\032" "\012" < file.DOS > file.UNIX или удалить все "ненавистные" символы ^M: $ tr -d "\r" < file.DOS > file.UNIX В этом примере показано, что квадратные скобки могут быть, а могут и отсутствовать. АВТОР Jim Meyering. СООБЩЕНИЕ ОБ ОШИБКАХ Сообщайте о всех найденных ошибках на АВТОРСКИЕ ПРАВА Copyright © 2006 Free Software Foundation, Inc. Это свободное программное обеспечение. Вы можете распространять его копии при соблюдении условий GNU General Public License СМ. ТАКЖЕ Полная документация по tr поддерживается в виде руководства в формате Texinfo. Если программы info и tr установлены и настроены в системе, то по команде info tr вы получите доступ к более полному руководству. ПЕРЕВОД Перевод оригинального файла с английского tr.1.gz (03.06.2004) (+ дополнения и примеры использования) выполнен Aleksander N.Gorohovski |
|
Всего комментариев: 0 | |