Команда tr, сокращение от translate (перевод), — это утилита командной строки в Linux, которая переводит или удаляет символы из стандартного ввода. Это полезный инструмент для простой манипуляции текстом, который часто используется с конвейерами (pipes) для обработки вывода других команд. Функциональность trtranslate является основной частью обработки текста.
Базовый перевод символов
Наиболее распространенное использование tr — замена одного набора символов другим. Например, вы можете легко перевести все символы нижнего регистра в верхний.
$ echo "hello world" | tr a-z A-Z
HELLO WORLD
В этом примере мы передали вывод echo команде tr. Затем команда tr перевела диапазон символов a-z в соответствующие символы диапазона A-Z.
Удаление символов с помощью -d
Еще одна мощная функция — возможность удалять определенные символы с помощью опции -d (delete — удалить). Это особенно полезно для очистки текста. Например, если вы хотите удалить все цифры из строки, вы можете использовать linux tr -d.
$ echo "My address is 123 Main Street" | tr -d '0-9'
My address is Main Street
Здесь команда tr -d удалила каждый символ из указанного набора (от '0' до '9') из входного потока. Это распространенный шаблон для пользователей, использующих tr -d linux.
Сжатие повторяющихся символов
Команда tr также может «сжимать» повторяющиеся символы до одного экземпляра, используя опцию -s (squeeze — сжать). Это отлично подходит для нормализации текста с лишними пробелами.
$ echo "Hello World, how are you?" | tr -s ' '
Hello World, how are you?
В этом случае tr -s ' ' заменил последовательности из нескольких пробелов одним пробелом, сделав вывод намного чище.