Как обрезать строку до последней точки

Есть переменная: var=bla.bla.bla.com Как обрезать строку в переменной что бы получилось com - то есть в независимости от слов и количества точек - обрезать по последней точке

var=bla.com     - com
var=bla.co      - co
var=bla.bla.org - org

Набор слов (по сути это доменные имена) может быть разным - привязываться к определенным значениям нельзя.

Пробовал:

var=bla.bla.bla.com
echo ${var#*.}
bla.bla.com

Ответы (2 шт):

Автор решения: megorit

Bash:

sed -E 's|.*\.([^\.]*)$|\1|g'

Example:

echo qwe.rty.uio.123.456 | sed -E 's|.*\.([^\.]*)$|\1|g'
→ Ссылка
Автор решения: Stanislav Volodarskiy

Вы были в одном шаге от правильного решения.

${var#Pattern} удаляет самую короткую подстроку отвечающую образцу.

${var##Pattern} удаляет самую длинную подстроку отвечающую образцу.

$ var=bla.bla.bla.com
$ echo ${var#*.}
bla.bla.com
$ echo ${var##*.}
com
→ Ссылка