30 нояб. 2009 г.

bash работа со строками

Работа со строками

Длина строки

${#string}

Извлечение подстроки

${string:position}
# с position до конца

${string:position:length}
# с position длиной length символов

${string: -length}
# последние length символов

Удаление части строки

${string#substring}
# до первого с начала

${string##substring}
# до последнего с начала

${string%substring}
# до первого с конца

${string%%substring}
# до последнего с конца
Замена подстроки
${string/substring/replacement}
# первое вхождение

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

${var/#Pattern/Replacement}
# Если в переменной var найдено совпадение с Pattern,
# причем совпадающая подстрока
# расположена в начале строки (префикс),
# то оно заменяется на Replacement.
# Поиск ведется с начала строки

${var/%Pattern/Replacement}
# Если в переменной var найдено совпадение с Pattern,
# причем совпадающая подстрока
# расположена в конце строки (суффикс),
# то оно заменяется на Replacement.
# Поиск ведется с конца строки

Источник: http://citkit.ru/articles/121/ . Позволю продублировать к себе, потому что когда нужно не найдешь и приходится изобретать очередной велосипед с sed/awk/bash