Tente isto :
echo "bob-type-8.2-mp2-2017-93-43-11-65-48.spr" | sed 's/^[^0-9]*//;s/\.[^.]*$//'
A saída será:
8.2-mp2-2017-93-43-11-65-48
Explicação :
Sed usa o padrão ' s/pattern/replace_pattern/'
para localizar pattern
e substituí-lo por replace_pattern
Assim, o padrão 's/^[^0-9]*//'
obtém todos os símbolos do início da linha e antes da ocorrência dos primeiros dígitos e os substitui por nada ( replace_pattern
estão vazios).
O próximo passo - excluir extention. Podemos fazer isso com o mesmo padrão de sed 's///'
.
s/\.[^.]*$//
- encontre todos os símbolos que não são .
no final $
da linha e substitua-os por nada.
;
- padrões de devid.
Para entender melhor, você pode usar este comando:
echo "bob-type-8.2-mp2-2017-93-43-11-65-48.spr" | sed -e 's/^[^0-9]*//' -e 's/\.[^.]*$//'