- Изменение регистра символов в командной строке Linux
- Использование tr
- Использование awk
- Использование sed
- Управление текстом в файле
- Изменение регистра только первой буквы.
- Команда Tr в Linux с примерами
- Как использовать команду tr
- Варианты комбинирования
- Примеры команд Tr
- Преобразовать нижний регистр в верхний регистр
- Удалить все нечисловые символы
- Поместите каждое слово в новую строку
- Удалить пустые строки
- Вывести каталоги $PATH в отдельной строке
- Выводы
- Как преобразовать строку в нижний регистр в Bash
- tr
- AWK
- Bash
- sed
- Perl
- Python
- Ruby
- PHP
- NodeJS
- Оболочка zsh
- 📜 Преобразование символов в нижний регистр на Bash – проще, чем вы думаете
- Пример
- You may also like
- 🐧 Проверка, содержит ли переменная число на Bash
- ⏲️ Дата в формате ГГГГ-ММ-ДД в скриптах Shell
- Как определить, когда служба была запущена и остановлена.
- 📜 Shell скрипт для вывода пирамиды звезд
- 🌐 Shell/Bash скрипт для поиска простых чисел на.
- 🐍 Как создать игру “Змейка” на языке Python
- 🐧 Как распарсить логи истории apt
- 🐍 Как поменять местами две переменные в Python?
- 📜 Shell скрипты – удаление двойных кавычек (“”).
- 🐧 Как обнаружить внутри Bash скрипта путь, по.
- Leave a Comment Cancel Reply
- • Свежие записи
- • Категории
- • Теги
- • itsecforu.ru
- • Страны посетителей
- IT is good
Изменение регистра символов в командной строке Linux
Преобразование текста между прописными и строчными буквами может быть очень утомительным, особенно если вы хотите избежать непреднамеренных ошибок в написании. К счастью, Linux предоставляет несколько команд, которые могут сделать эту работу очень простой.
Существует много способов изменить текст в командной строке Linux с нижнего на верхний регистр и наоборот. На самом деле, у вас есть впечатляющий набор команд на выбор. В этой статье рассматриваются наиболее лучшие команды для работы.
Использование tr
Команда tr (translate) является одной из самых простых в использовании в командной строке или скрипте. Если у вас есть строка, которая должна быть прописной, вы просто передаете ее через команду tr, как в примере:
$ echo Hello There | tr [:lower:] [:upper:]
HELLO THERE
Ниже приведен пример использования такого рода команд в скрипте, когда необходимо, чтобы весь текст, добавляемый в файл, находится в верхнем регистре:
#!/bin/bash
echo -n «Enter department name: «
read dept
echo $dept | tr [:lower:] [:upper:] >> depts.
Перестановка местами параметров [: upper:] [: lower:] переводит текст в нижний регистр:
echo $dept | tr [:upper:] [:lower:] >> depts.
Аналогично, вы можете использовать эту команду для преобразования символов A-Z в a-z:
echo $dept | tr a-z A-Z >> depts.
Использование awk
Команда awk позволяет сделать то же самое, что и команда tr. Но здесь применяются опции toupper и tolower. Команда в сценарии, показанном в предыдущем примере, может быть выполнена следующим образом:
Обратное переключение на нижний регистр будет выглядеть следующим образом:
Использование sed
Команда sed (stream editor) также отлично справляется с переключением между верхним и нижним регистром. Эта команда будет иметь тот же эффект, что и у двух предыдущих, показанных выше.
echo $dept | sed ‘s/[a-z]/\U&/g’ >> depts.
Для переключения с верхнего на нижний регистр просто необходимо заменить символ U в конце строки символом L.
echo $dept | sed ‘s/[A-Z]/\L&/g’ >> depts.
Управление текстом в файле
Awk и sed также позволяют изменять регистр текста для целых файлов. Для изменения регистра текста целого файла просто выполните такую команду с указанным именем файла:
Если вы хотите перезаписать содержимое файла, а не просто отображать его содержимое в нижнем регистре, вам необходимо сделать это:
$ awk » depts > depts-
$ mv depts- depts
Однако, внося изменения с помощью команды sed, можно избежать последний шаг awk, потому что sed может редактировать файл «на месте», как показано ниже в примере, оставляя файл нетронутым, но текст преобразовался в нижний регистр:
Изменение регистра только первой буквы.
Чтобы сделать прописными буквами только первые буквы слов в строках, выполните следующие команды:
$ echo design \& engineering| sed -e «s/\b\(.\)/\u\1/g»
Design & Engineering
Эта команда преобразует первые буквы в заглавные, и не изменит остальные буквы.
Команда Tr в Linux с примерами
tr — это утилита командной строки в системах Linux и Unix, которая переводит, удаляет и сжимает символы из стандартного ввода и записывает результат в стандартный вывод.
Команда tr может выполнять такие операции, как удаление повторяющихся символов, преобразование верхнего регистра в нижний регистр, а также замену и удаление основных символов. Обычно он используется в сочетании с другими командами через конвейер.
В этом руководстве мы покажем вам, как использовать команду tr на практических примерах и подробных объяснениях наиболее распространенных параметров.
Как использовать команду tr
Синтаксис команды tr следующий:
tr принимает два набора символов, обычно одинаковой длины, и заменяет символы из первых наборов соответствующими символами из второго набора.
SET — это в основном строка символов, включая специальные символы с обратным слэшем.
В следующем примере tr заменит все символы из стандартного ввода (linuxize), сопоставив символы из первого набора с соответствующими символами из второго набора.
echo 'linuxize' | tr 'lin' 'red'
Каждое вхождение l заменяется на r , i на e и n на d :
Наборы символов также можно определить с помощью диапазонов символов. Например, вместо написания:
echo 'linuxize' | tr 'lmno' 'wxyz'
Когда используется опция -c ( —complement ), tr заменяет все символы, которых нет в SET1.
В приведенном ниже примере все символы, кроме «li», будут заменены последним символом из второго набора:
echo 'linuxize' | tr -c 'li' 'xy'
Как вы могли заметить, вывод выше имеет на один видимый символ больше, чем ввод. Это связано с тем, что команда echo печатает невидимый символ новой строки n который также заменяется на y . Чтобы отобразить строку без новой строки, используйте параметр -n .
Параметр -d ( —delete ) указывает tr удалить символы, указанные в SET1. При удалении символов без сжатия укажите только один набор.
Приведенная ниже команда удалит символы l , i и z :
Символ L не удаляется, потому что входные данные включают L в верхнем регистре, а символ l в SET — в нижнем регистре.
Параметр -s ( —squeeze-repeats ) заменяет последовательность повторяющихся вхождений на набор символов из последнего набора.
В следующем примере tr удаляет повторяющиеся пробелы:
Когда используется SET2, последовательность символов, указанная в SET1, заменяется на SET2.
Параметр -t ( —truncate-set1 ) заставляет tr усечь SET1 до длины SET2 перед выполнением дальнейшей обработки.
По умолчанию, если SET1 больше, чем SET2, tr будет повторно использовать последний символ SET2. Вот пример:
echo 'Linux ize' | tr 'abcde' '12'
Выходные данные показывают, что символ e из SET1 соответствует последнему символу SET2, который равен 2 :
Теперь используйте ту же команду с параметром -t :
echo 'Linux ize' | tr -t 'abcde' '12'
Вы можете видеть, что последние три символа SET1 удалены. SET1 становится ‘ab’ той же длины, что и SET2, и замены не производится.
Варианты комбинирования
Команда tr также позволяет комбинировать ее параметры. Например, следующая команда сначала заменяет все символы, кроме i на 0 а затем сжимает повторяющиеся символы 0 :
echo 'Linux ize' | tr -cs 'i' '0'
Примеры команд Tr
В этом разделе мы рассмотрим несколько примеров распространенного использования команды tr .
Преобразовать нижний регистр в верхний регистр
Преобразование нижнего регистра в верхний или обратный — один из типичных вариантов использования команды tr . [:lower:] соответствует всем символам нижнего регистра, а [:upper:] соответствует всем символам верхнего регистра.
echo 'Linuxize' | tr '[:lower:]' '[:upper:]'
Вместо классов символов вы также можете использовать диапазоны:
Чтобы преобразовать верхний регистр в нижний, просто поменяйте местами наборы.
Удалить все нечисловые символы
Следующая команда удаляет все нечисловые символы:
echo "my phone is 123-456-7890" | tr -cd [:digit:]
[:digit:] обозначает все цифровые символы, а при использовании опции -c команда удаляет все нецифровые символы. Результат будет выглядеть так:
Поместите каждое слово в новую строку
Чтобы поместить каждое слово в новую строку, нам нужно сопоставить все не буквенно-цифровые символы и заменить их новой строкой:
echo 'GNU is an operating system' | tr -cs '[:alnum:]' 'n'
GNU is an operating system
Удалить пустые строки
Чтобы удалить пустые строки, просто нажмите повторяющиеся символы новой строки:
В приведенной выше команде мы используем символ перенаправления < для передачи содержимого file.txt команде tr . Перенаправление >записывает вывод команды в new_file.txt .
Вывести каталоги $PATH в отдельной строке
Переменная среды $PATH представляет собой список каталогов, разделенных двоеточиями, который сообщает оболочке, в каких каталогах следует искать исполняемые файлы при вводе команды.
Для печати каждого каталога на отдельной строке мы должны соответствовать двоеточие ( : ) и заменить ее на новую строку:
/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin
Выводы
tr — это команда для перевода или удаления символов.
Хотя это очень полезно, tr может работать только с отдельными символами. Для более сложных сопоставлений с образцом и обработки строк следует использовать sed или awk .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Как преобразовать строку в нижний регистр в Bash
В этой заметке будет показано, как преобразовать строку в нижний регистр (строчные буквы) в командной строке Linux.
Чтобы конвертировать строку в маленькие буквы независимо от её текущего регистра, используйте одну из следующих команд.
tr
echo "Hi all" | tr '[:upper:]' '[:lower:]' hi all
Внимание! Если вы хотите изменить регистр каких-либо букв кроме латиницы (национальные алфавиты, буквы с диакритическими знаками), то не используйте tr, а используйте любое другое решение, предложенное далее. Это связано с тем, что классическая Unix tr оперирует символами однобайтовой кодировки и не совместима с Unicode.
AWK
Bash
Начиная с Bash 5.1 имеется параметр преобразования L, который предназначен для перевода строки в нижний регистр:
sed
echo "Hi all" | sed -e 's/\(.*\)/\L\1/' hi all
Perl
echo "Hi all" | perl -ne 'print lc' hi all
Python
a="Hi all" b=`echo "print ('$a'.lower())" | python`; echo $b
Ruby
a="Hi all" b=`echo "print '$a'.downcase" | ruby`; echo $b
PHP
b=`php -r "print strtolower('$a');"`; echo $b
NodeJS
b=`node -p "\"$a\".toLowerCase()"`; echo $b
Оболочка zsh
📜 Преобразование символов в нижний регистр на Bash – проще, чем вы думаете
Вопрос: Как преобразовать все символы в нижний регистр строки в скрипте оболочки bash?
В Linux команда tr используется для перевода, сжатия и/или удаления символов.
Таким образом, с помощью команды tr можно преобразовать регистр любого символа.
Вы можете сделать это быстро с помощью команды, состоящей из одной строки.
Вы можете использовать следующую команду для преобразования строки в нижний регистр.
Здесь команда принимает на стандартный вход строку и обрабатывает ее.
echo "Input string here" | tr '[:upper:]' '[:lower:]'
Давайте обсудим это на примере.
Пример
Давайте создадим пример скрипта.
Инициализируйте переменную строкой с несколькими заглавными буквами.
Затем преобразуйте все буквы в строчные и сохраните их в другой переменной.
Запустите приведенный выше скрипт и посмотрите результаты:
Input String: Hello World Result String: hello world
Вы можете видеть, что в полученной строке все символы в нижнем регистре.
itisgood
⏲️ Запуск задания cron каждые 12 часов (дважды в день)
🐧 Как исправить ошибку: Failed to Download Metadata for Repo ‘AppStream’
You may also like
🐧 Проверка, содержит ли переменная число на Bash
⏲️ Дата в формате ГГГГ-ММ-ДД в скриптах Shell
Как определить, когда служба была запущена и остановлена.
📜 Shell скрипт для вывода пирамиды звезд
🌐 Shell/Bash скрипт для поиска простых чисел на.
🐍 Как создать игру “Змейка” на языке Python
🐧 Как распарсить логи истории apt
🐍 Как поменять местами две переменные в Python?
📜 Shell скрипты – удаление двойных кавычек (“”).
🐧 Как обнаружить внутри Bash скрипта путь, по.
Leave a Comment Cancel Reply
• Свежие записи
• Категории
• Теги
• itsecforu.ru
• Страны посетителей
IT is good
В этой статье вы узнаете, как удалить удаленный Git-репозиторий. Процесс прост, но его полезно запомнить, чтобы избежать неожиданностей в будущем. Git – это…
В 11-й версии своей операционной системы Microsoft серьезно переработала интерфейс и убрала несколько привычных функций. Нововведения не всем пришлись по душе. Мы дадим…
Продажа ноутбука нередко становится хлопотным занятием. Кроме поиска покупателя, продавцу необходимо подготовить устройство перед проведением сделки. Но если последовательно выполнить все шаги, ничего…
Вы можете оказаться в ситуации, когда вам нужно использовать скрипт шелла для чтения файлов построчно. В этом руководстве я расскажу о нескольких способах…
Вторичное жильё выгоднее для молодых семей, желающих приобрести свою первую квартиру. Сталкиваясь с ипотечным кредитованием, можно избежать много лишней суеты и проблем, если…