No bash, você pode remover a subseqüência principal mais longa que termina com um não-dígito de uma variável $var
usando substituição de parâmetro ${var##[^0-9]}
ou (POSIXly) ${var##[!0-9]}
p.ex.
$ echo "$x --> ${x##*[^0-9]}"
abcde12345 --> 12345
$
$ echo "$y --> ${y##*[^0-9]}"
s'ldfsd[opsk12345 --> 12345
$
$ echo "$z --> ${z##*[^0-9]}"
1234sdfsdfafa23456 --> 23456
Veja, por exemplo, Expansão de Parâmetros