ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 31 марта, 2025
Сегодня у нас 1 праздник:
Международный День Резервного Копирования (World Backup Day). Пользователи сайта социальных новостей reddit предложили сделать дату 31.03 Международным днём резервного копирования, аргументируя это тем, что никогда заранее нельзя узнать, какие сюрпризы преподнесёт 1.04

Команда tr в Unix/Linux с примерами

Команда tr в Unix/Linux с примерами

Команда tr в Unix/Linux — это универсальная и мощная утилита, которая расшифровывается как «перевести» (translate) или «транслитерировать» (transliterate). Она используется для замены или удаления символов в заданном входном потоке (файле или данных из команды) и получения измененных выходных данных. Команда tr особенно полезна для преобразования или очистки текста.

 

Что такое команда tr в Unix/Linux?

В среде командной строки Unix /Linux команда tr является универсальным инструментом для перевода или удаления символов. Ее основная цель — преобразовать содержимое файла или стандартного ввода путем замены определенных символов другими или удаления определенных символов. В этой статье мы рассмотрим функциональность команды tr и приведем практические примеры ее использования.

 

Базовый синтаксис команды tr в Unix/Linux:

Основной синтаксис команды tr следующий:

tr [options] SET1 [SET2]

 

 

Примеры команды tr в Unix/Linux

Ниже приведены некоторые примеры команды tr в Unix/Linux:

 

Пример 1: Базовая замена символов

echo "Hello, World!" | tr 'l' 'L'

 

Эта команда заменяет все вхождения строчной буквы ‘l’ на заглавную букву ‘L». Результатом будет: «HeLLo, WorLd!»

 

Пример 2: Удаление символов

echo "Remove vowels" | tr -d 'aeiou'

 

Опция -d удаляет символы из набора входных данных. В этом примере она удаляет все гласные из заданной строки, в результате чего получается «Rmv vwls».

 

Пример 3: Сжатие повторяющихся символов

echo "слишком много      пробелов" | tr -s ' '

 

Опция -s сжимает повторяющиеся символы в один символ. В этом случае она сжимает последовательные пробелы в один пробел, создавая «слишком много пробелов».

 

Пример 4: Перевод диапазонов символов

echo "12345" | tr '0-9' 'a-j'

 

Эта команда преобразует каждую цифру в соответствующую ей строчную букву, в результате чего получается «abcdefghij».

 

Пример 5: Перевод с набором дополнений

echo "Hello, World!" | tr -c 'aeiou' '*'

 

Опция -c дополняет указанный набор символов. В этом примере она заменяет все символы, не содержащие гласных, звездочкой, в результате чего получается «eo, old!»

 

Пример 6: Преобразование верхнего регистра в нижний

echo "Преобразовать В нижний регистр" | tr 'A-Z' 'a-z'

 

Эта команда преобразует все прописные буквы в строчные, производя «преобразовать в нижний регистр».

 

Заключение:

Команда tr в Unix/Linux — это мощный и гибкий инструмент для перевода символов и манипулирования ими. Независимо от того, нужно ли вам заменить символы, удалить определенные символы или выполнить более сложные преобразования, команда tr является важным компонентом обработки текста в командной строке. Экспериментирование с различными параметрами и наборами символов позволит вам адаптировать команду tr к вашим конкретным потребностям в преобразовании текста.

 

Часто задаваемые вопросы, связанные с командой tr в Unix/Linux с примерами

Вот некоторые из часто задаваемых вопросов, связанных с командой tr в Unix/Linux с примером:

Вопрос 1: Какова цель команды tr?

A: Команда tr в Unix/Linux используется для перевода символов и манипулирования ими. Она может заменять или удалять определенные символы, сжимать повторяющиеся символы и выполнять различные другие преобразования при вводе текста.

Вопрос 2: Чем команда tr отличается от sed и awk?

Ответ: Хотя tr специально разработан для перевода и удаления символов, sed (редактор потоков) и awk (инструмент обработки текста) более универсальны и могут выполнять более сложные текстовые манипуляции, включая сопоставление с шаблоном и замену.

Вопрос 3: Можно ли использовать команду tr для файлов?

Ответ: Да, команда tr может использоваться для файлов. Вы можете либо указать файл в качестве аргумента, либо использовать перенаправление ввода (<) для чтения из файла. Например, tr ‘a-z’ ‘A-Z’ < input.txt.

Вопрос 4: Как я могу заменить несколько символов с помощью команды tr?

A: Для замены нескольких символов вы можете указать несколько символов в аргументах SET1 и SET2. Например, tr ‘abc’ ‘123’ заменит ‘a’ на ‘1’, ‘b’ на ‘2’ и ‘c’ на ‘3’.

Вопрос 5: Может ли команда tr обрабатывать символы Unicode?

Ответ: Команда tr в основном предназначена для однобайтовых наборов символов. Хотя ее можно использовать с символами Юникода, она может некорректно обрабатывать многобайтовые символы, а такие инструменты, как iconv, больше подходят для преобразования в Юникод.

Вопрос 6: Как работает опция -s в команде tr?

Ответ: Опция -s сжимает повторяющиеся символы в один символ. Она сжимает последовательные вхождения символов, указанных в SET1, до одного символа в выходных данных.

Exit mobile version