Em qualquer shell POSIX:
var=123.444.888.235
new_var="${var%.*}.0"
${var%pattern}
é um operador introduzido por ksh
nos anos 80, padronizado por POSIX para a linguagem sh
padrão e agora implementado por todos os shells que interpretam esse idioma, incluindo bash
.
${var%pattern}
expande para o conteúdo de $var
da linha mais curta que corresponde a padrão no final dela (ou para o mesmo que $var
se esse padrão não corresponde). Portanto, ${var%.*}
(onde .*
é um padrão que significa ponto seguido por qualquer número de caracteres) se expande para $var
sem o coentem% mais à direita e o que segue. Por contraste, .
, em que a sequência mais longa que corresponde ao padrão, seria expandida para ${var%%.*}
sem a coentidade% mais à esquerda e o que a segue.