С помощью команды tr

Команда tr читает поток ввода и преобразует его (пример 8.41). Она позво- ляет выполнять преобразования, приведенные далее в списке.

r Замена символов в потоке. Задают два набора символов. Символы из пер- вого набора заменяются соответствующими по порядку символами из второго набора.

r При использовании опции -d удаляются символы, указанные в наборе.

r Исключение повторения символов в потоке. Символы, повторы которых должны быть исключены, задаются в наборе — опция -s.


 

r Замена символов в потоке с последующим устранением их повторов. При этом задаются два набора символов и устанавливается опция -s. Вначале команда tr заменяет символы, а затем устраняет повторения символов из второго набора.

r Удаление символов из потока с последующим устранением повторов. Этот режим требует установки опций -d и -s. Вначале удаляются сим- волы из первого набора, а затем устраняются повторы из второго.

 

Пример 8.41. Замена символов с помощью tr

 

$ echo tarelka | tr a-z A-Z TARELKA

 

Здесь были заданы два набора символов — все буквы английского алфавита в нижнем регистре, которые заменяются буквами в верхнем регистре.

Удалить символы перевода строки можно командой, показанной в приме- ре 8.42.

 

Пример 8.42. Удаление символов

 

$ ls / | tr -d '\n' binbootdevetchomelibmntoptprocrootsbinswaptmpusrvar

 

Здесь в качестве входного потока был использован вывод команды ls /, из которого были удалены все символы перевода строк.

Устранение повторов выполняет опция -s (пример 8.43).

 

Пример 8.43. Устранение повторов

 

$ echo root | tr -s o rot

 

В этом примере были устранены повторения символа о.

Опция -c команды tr позволяет инвертировать смысл задаваемого множест- ва символов, т. е. удалить при использовании -d все, кроме символов, ука- занных в наборе. Например, команда tr –dc 0-9 удалит во входном потоке все, кроме цифр.


 

С опцией -t команда tr обрезает длину первого набора по длине второго, для того чтобы количество символов в них равнялось.

Можно указать класс символов из набора предопределенных символов

(табл. 8.2).

 

Таблица 8.2. Предопределенные шаблоны tr

Класс Символы
[:alnum:] Символы алфавита в любом регистре и цифры
[:alpha:] Символы алфавита в любом регистре
[:blank:] Пустое множество
[:cntrl:] Управляющие символы
[:digit:] Десятичные цифры
[:graph:] Все символы, которые могут быть напечатаны, кроме пробела
[:lower:] Алфавитные символы в нижнем регистре
[:print:] Все символы, которые могут быть напечатаны
[:punct:] Все символы пунктуации
[:space:] Пробел или табуляция
[:upper:] Алфавитные символы в верхнем регистре
[:xdigit:] Шестнадцатеричные цифры

В примере 8.44 символы в нижнем регистре заменены символами в верхнем регистре.

 

Пример 8.44. Использование предопределенных шаблонов

 

$echo "str" | tr [:lower:] [:upper:] STR








Дата добавления: 2015-06-12; просмотров: 580;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.