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

Рейтинг: 3Ответов: 2Опубликовано: 20.02.2015

В переменной лежит значение типа "текст1:текст2".

Как взять часть этой строки после двоеточия?

Ответы

▲ 10

Можно взять части строк в bash, не используя внешних комманд:

$ v="текст1:текст2"
$ echo ${v%:*} # убрать всё после последнего двоеточия
текст1
$ echo ${v#*:} # убрать всё до первого двоеточия
текст2
▲ 6

Если двоеточие одно и текст в переменной v

tail=`echo $v | cut -d: -f 2`

update

Почитал немного man cut. Если двоеточие не одно (с одним, впрочем, тоже работает), то надо так

tail=`echo $v | cut -d: -f 2-`

(а добавили-то всего один символ...)