Перейти на домашнюю страницу

bash, Операции над строками

Источник: Advanced Bash-Scripting Guide by Mendel Cooper

* * *

ДЛИНА СТРОКИ

${#STRING}


* * *

ИЗВЛЕЧЕНИЕ ПОДСТРОКИ

из переменной $STRING начиная с позиции position

${STRING:position}


например

${STRING:0} # вся строка

${STRING:1} # начиная со 2 символа и далее

${STRING:(-3)} # последние 3 символа


* * *

ИЗВЛЕЧЕНИЕ ПОДСТРОКИ определённого размера

из переменной $STRING начиная с позиции position извлекаем length символов

${STRING:position:length}


например

${STRING:0:3} # первые 3 символа

${STRING:(-3):2} # два предпоследних символа


* * *

УДАЛЕНИЕ ПОДСТРОКИ

в переменной $STRING, совпадающей с шаблоном substring

${STRING#substring} # ищем с начала строки, удаляем самую короткую из найденных

${STRING##substring} # ищем с начала строки, удаляем самую длинную из найденных


${STRING%substring} # ищем с конца строки, удаляем самую короткую из найденных

${STRING%%substring} # ищем с конца строки, удаляем самую длинную из найденных


например

STRING=abc123abc

${STRING#a*c} # результат: 123abc

${STRING%a*c} # результат: abc123


* * *

ЗАМЕНА ПОДСТРОКИ

в переменной $STRING меняем substring на replacement

${STRING/substring/replacement} # первое вхождение

${STRING//substring/replacement} # все вхождения


частные случаи

${STRING/#substring/replacement} # строка начинается с substring, меняем начало

${STRING/%substring/replacement} # строка заканчивается на substring, меняем окончание


например

STRING=abc123abc

${STRING/abc/xyz} # результат: xyz123abc

#bash

2018-05-01 10:02:46