### Нововведения в Bash 4.0 для работы со строками Переменная `name` может изменяться, смотри столбец `INPUT` | Функция или метод|Назначение|INPUT|OUTPUT| |-----------------|-----------|------------|------------| |echo "${name^}"|Переводит первый символ строки в верхний регистр|nick|Nick| |echo "${name^[k-p]}"|Переводит первый символ строки в верхний регистр, если первый символ в диапазоне|nick|Nick| |echo "${name^^}"|Преобразование строки к верхнему регистру| nick|NICK| |echo "${name,}"|Переводит первый символ строки в нижний регистр|Nick Denisov|nick Denisov| |echo "${name,,}"|Преобразование строки к нижнему регистру| Nick Denisov|nick denisov| |echo "${name\~~}"|Переводит символы нижнего регистра в верхний, а верхнего – в нижний|nIcK|NiCk| ### Все что было ранее и действует сейчас | Функция или метод |Назначение|INPUT|OUTPUT| |------------------|-----------|-----|------| |echo "${#name}" | Длина строки |nick|4| |echo "${name%i*}" | Удалить из переменной $name наименьшую подстроку с конца строки | Nick Denisov | Nick Den | |echo "${name%%i*}" | Удаляет из переменной $name наибольшую подстроку с конца строки| Nick Denisov | N | |echo "${name#*i}" | Удаляет из переменной $name наименьшую подстроку с начала строки| Nick Denisov | ck Denisov | |echo "${name##*i}" | Удаляет из переменной $name наибольшую подстроку с начала строки| Nick Denisov | sov | |echo "${name:5}" | Извлечение среза из строки | Nick Denisov | Denisov | |echo "${name: -1}" | Извлечение среза из строки с конца строки(Перед знаком `-` нужен пробел,чтобы исключить значение по умолчанию) | Nick Denisov |v| |echo "${name:5:5}"| Извлечение среза из строки, начиная с 5, но не более 5 символов| Nick Denisov | Denis | |echo "${name/Denisov/surname} |Поиск подстроки в строке, первое совпадание с шаблоном заменяется подстрокой| Nick Denisov | Nick surname | |echo "${name//i/I}" | Глобальная замена. Все найденные совпадения с шаблоном `i` в name, будут замещены подстрокой `I`| Nick Denisov | NIck DenIsov | |echo "${name/#Nick/Kolya}" | Если в переменной найдено совпадение в начале строки (префикс), то оно заменяется. Поиск ведется с начала строки | Nick Denisov |Kolya Denisov| |echo "${name/%Denisov/Kolya}" | Если в переменной найдено совпадение в конце строки (суффикс), то оно заменяется. Поиск ведется с конца строки | Nick Denisov |Nick Kolya|