Você pode usar a expansão do parâmetro do Bash:
string="foo-bar-123" && printf "%s\n" "${string##*-}"
123
Se você quiser usar outro processo, com Awk:
echo "foo-bar-123" | awk -F- '{print $NF}'
Ou, se você preferir Sed:
echo "foo-bar-123" | sed 's/.*-//'
Um processo externo mais leve, como Glenn Jackman sugere é cut
:
cut -d- -f3 <<< "$string"