Читаем Linux и UNIX: программирование в shell. Руководство разработчика. полностью

Изменение регистра символов является наряду с процедурой удаления управляющих символов одним из наиболее распространенных случаев применения утилиты tr. Чтобы выполнить подобное преобразование, достаточно указать шаблон строчных букв '[a‑z]' для входных данных и шаблон прописных букв '[A‑Z]' для выходных преобразованных данных.

В первом примере осуществляется передача утилите tr строки, содержащей смешанный набор символов.

$ echo "May Day, May Day, Going Down.." | tr " [a‑z]" "[A‑Z]"

MAY DAY, MAY DAY, GOING DOWN..

С другой стороны, можно воспользоваться классами символов [:lower:] и [:upper:].

$ echo "May Day, May Day, Going Down.." | tr ":lower:" ":upper:"

MAY DAY, MAY DAY, GOING DOWN..

Для преобразования прописных букв из текстового файла в строчные и последующего их размещения в новом файле применяется следующий формат:

cat file‑to‑translate | tr "[A‑Z]" "[a‑z]" > new‑file‑name

где параметр 'файл–для–преобразования' — преобразуемый файл, а 'имя–нового–файла' — имя, которое нужно присвоить новому файлу. Например:

cat myfile | tr "[A‑Z]" "[a‑z]" > lower_myfile

<p><emphasis><strong>12.1.6. Преобразование строчных букв в прописные</strong></emphasis></p>

Преобразование строчных букв в прописные выполняется в обратном порядке по сравнению с преобразованием, рассмотренным в предыдущем разделе. Ниже приведены два примера подобного преобразования.

$ echo "Look for the route, or make the route" | tr "[a‑z]" "[A‑Z]"

LOOK FOR THE ROUTE, OR MAKE THE ROUTE

$ echo "May Day, May Day, Going Down.." | tr ":lower:" ":upper:"

may day, may day, going down..

Для преобразования строчных букв из текстового файла в прописные и последующего их размещения в новом файле применяется формат:

cat file‑to‑translate | tr "[a‑z]" "[A‑Z]" > new‑file‑name

где 'файл–для–преобразования' - преобразуемый файл, а 'имя–нового–файла' — имя, которое нужно присвоить новому файлу. Например:

cat myfile | tr "[a‑z]" "[A‑Z]" > upper_myfile

<p><emphasis><strong>12.1.7. Удаление определенных символов</strong></emphasis></p>

Иногда возникает необходимость в удалении некоторых столбцов из загруженного файла, содержащего только буквы и числа. Для этого в рассматриваемой команде необходимо применить оба параметра, '-с' и '-s'.

Приведенный ниже файл содержит часть составленного на неделю личного календаря. Задача заключается в устранении чисел. В личном календаре остаются в наличии только дни недели. Поскольку дни недели используются в формате как прописных, так и строчных букв, в этом случае применяют оба диапазона символов: [a‑z] и [A‑z]. При этом команда 'tr ‑cs "[a‑z] [A‑z]" "[\012*]"' выбирает все содержимое файла, которое не находится в пределах [a‑z] или [A-Z] (буквенных символов), содержащихся в строка1, и преобразует их в символы новой строки. В приведенной выше команде tr параметр ' -s' сообщает о необходимости "сокращения" всех символов новой строки, а параметр '-с' сохраняет без изменения все буквенные символы. Ниже приведен файл, содержащий данные личного календаря, после чего следует строка с утилитой tr и результат ее выполнения.

$ pg diary.txt

Monday 10:50

Tuesday 15:30

Wednesday 15:30

Thursday 10:30

Friday 09.20

$ tr -cs "[a‑z][A‑Z]""[\Q12*]" < diary.txt

Monday

Tuesday

Wednesday

Thursday

Friday

<p><emphasis><strong>12.1.8. Преобразование управляющих символов</strong></emphasis></p>

Чаще всего утилита tr применяется для преобразования управляющих символов, особенно во время загрузки файлов из DOS в UNIX. Если в команде ftp не задан параметр, выполняющий преобразование символов возврата каретки в символы новой строки, обычно применяют утилиту tr.

Ниже приведен текстовый файл, при пересылке которого не было выполнено преобразование символов возврата каретки. Файл содержит часть требования на выдачу канцелярских принадлежностей. Управляющие символы файла отображены ниже с помощью команды cat -v.

$ cat -v stat.txt

Boxes рарег^^^^^^12^M

Clips metal^^^^^^^50^M

Pencils‑medium^^^^^^10^M ^Z

В этом файле последовательность символов '^^^^^^' кодирует символы табуляции, каждая строка завершается управляющей последовательностью control‑m, а в конце файла находится управляющая последовательность Control‑Z. Ниже показано, как можно исправить положение.

Перейти на страницу:

Похожие книги

112 страниц про Париж. Опыт создания путеводителя (в помощь самостоятельным туристам)
112 страниц про Париж. Опыт создания путеводителя (в помощь самостоятельным туристам)

  По Парижу приятно гулять, бесцельно бродить, кружить по узким улочкам, отдыхать в маленьких кафе и в парках у фонтанов. Здесь есть все для любителей архитектуры, ценителей живописи, театралов, меломанов, гурманов, поклонников всевозможных развлечений. Париж притягивает, удивляет, очаровывает, постепенно приоткрывая тайны любознательному гостю, который теряется от сложности выбора: что же увидеть прямо сейчас, а что отложить на потом. Мои 112 страниц про Париж, надеюсь, помогут сделать этот выбор. Предложенные 7 прогулок по городу включают в себя не только известные всему миру достопримечательности, но и множество других, которые часто остаются за пределами стандартных туристических маршрутов.  

Елена Р Стамбулян , Елена Р. Стамбулян

Руководства / Путеводители / Словари и Энциклопедии
40+. Уход за телом
40+. Уход за телом

Женщина после 40 лет – настоящая богиня, умудренная опытом и оттого еще более прекрасная. Но чтобы надолго сохранить красоту и молодость, нужно постоянно собой заниматься: ухаживать за своим телом, руками и ногами, выполнять физические упражнения и соблюдать диету. Благодаря этой книге вы научитесь самостоятельно готовить омолаживающие, питательные, увлажняющие кремы и маски, а также скрабы и пилинги из натуральных продуктов; выполнять легкие и эффективные упражнения для стройной фигуры и профилактики варикозного расширения вен, делать массаж рук и ног, навсегда избавитесь от целлюлита и сможете легко ориентироваться в выборе омолаживающих процедур в СПА-салонах и хирургических операций в клиниках красоты. Правила здорового питания, популярные диеты и рецепты полезных блюд – в этой книге есть все, что поможет 40-летним женщинам всегда быть в форме.

Анастасия Витальевна Колпакова

Здоровье / Руководства / Здоровье и красота / Дом и досуг / Словари и Энциклопедии