Утилита tr в Unix/Linux

Утилита tr в Unix/Linux

Tr выступает за перевод или транслитерацию. Утилита tr в UNIX или ОС Linux используется для перевода, удаления или сжатия символов. Синтаксис команды tr таков:

tr [options] set1 [set2]

Варианты tr команды:

  • -c : Дополняет набор символов в строке.
  • -d : Удаляет символы в set1.
  • -s : Заменяет повторяющиеся символы, перечисленные в set1 одного вхождения.
  • -t : Обрезает set1.

Наглядные примеры использования утилиты tr.

Расскажу в своей статье «Утилита tr в Unix/Linux» как пользоваться командой tr на наглядных примерах.

Преобразование строчных букв в верхний регистр.

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

# echo "my unix/linux blog linux-notes.org" | tr "[:lower:]" "[:upper:]"

MY UNIX/LINUX BLOG LINUX-NOTES.ORG

или

# echo "my unix/linux blog linux-notes.org" | tr "[a-z]" "[A-Z]"

MY UNIX/LINUX BLOG LINUX-NOTES.ORG

Преобразование заглавных букв в строчные.

Подобно примеру что выше, можно перевести заглавные буквы в строчные:

# echo "MY UNIX/LINUX BLOG LINUX-NOTES.ORG" | tr "[:upper:]" "[:lower:]"

my unix/linux blog linux-notes.org

или

# echo "MY UNIX/LINUX BLOG LINUX-NOTES.ORG" | tr "[A-Z]" "[a-z]"

my unix/linux blog linux-notes.org

Заменить несовпадающие символы.

Опция «-c» используется, чтобы заменить несовпадающие символы с другим набором указанных символов:

# echo "unix/linux blog" | tr -c "u" "a"
uaaaaaaauaaaaaaa

В приведенном выше примере, за исключением символа «u»  все последующие символы заменяются «а».

Удалить непечатные символы.

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

# tr -cd "[:print:]" < your_filename_here

Сжатие символов

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

# echo "unix/ linux blog" | tr -s " "

unix/ linux blog

Здесь вы можете заменить пробел на любой другой символ, указав его в set2:

# echo "unix linux blog" | tr -s " " ","

unix,linux,blog

Удаление символов

Следующий пример удаляет слово «linux» из строки.

# echo "linuxserver" | tr -d "linux"

server

На этом, у меня все, тема «Утилита tr в Unix/Linux» завершена.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.