Утилита 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» завершена.