The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

tr (1)
  • tr (1) ( Solaris man: Команды и прикладные программы пользовательского уровня )
  • tr (1) ( FreeBSD man: Команды и прикладные программы пользовательского уровня )
  • >> tr (1) ( Русские man: Команды и прикладные программы пользовательского уровня )
  • tr (1) ( Linux man: Команды и прикладные программы пользовательского уровня )
  • tr (1) ( POSIX man: Команды и прикладные программы пользовательского уровня )
  • tr (8) ( Русские man: Команды системного администрирования )
  •  

    НАЗВАНИЕ

    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.  

    СООБЩЕНИЕ ОБ ОШИБКАХ

    Сообщайте о всех найденных ошибках на <[email protected]>.  

    АВТОРСКИЕ ПРАВА

    Copyright © 2006 Free Software Foundation, Inc.
    Это свободное программное обеспечение. Вы можете распространять его копии при соблюдении условий GNU General Public License <http://www.gnu.org/licenses/gpl.html>. Не предоставляется НИКАКИХ ГАРАНТИЙ в установленных законом пределах.  

    СМ. ТАКЖЕ

    Полная документация по tr поддерживается в виде руководства в формате Texinfo. Если программы info и tr установлены и настроены в системе, то по команде
    info tr

    вы получите доступ к более полному руководству.  

    ПЕРЕВОД

    Перевод оригинального файла с английского tr.1.gz (03.06.2004) (+ дополнения и примеры использования) выполнен Aleksander N.Gorohovski <[email protected]> 2007.


     

    Index

    НАЗВАНИЕ
    СИНТАКСИС
    ОПИСАНИЕ
    ОПЦИИ
    ПРИМЕРЫ
    АВТОР
    СООБЩЕНИЕ ОБ ОШИБКАХ
    АВТОРСКИЕ ПРАВА
    СМ. ТАКЖЕ
    ПЕРЕВОД


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру