Se você realmente precisa fazer isso em pura bash:
$ foo="cjkuni-ukai-fonts-0.2.20080216.1-35.el6.noarch"
$ [[ $foo =~ [0-9.]+-[0-9]* ]] && echo $BASH_REMATCH
0.2.20080216.1-35
Se você estiver satisfeito com uma solução sed
:
$ sed 's/.*-\([0-9.]*-[0-9]*\).*//' <<<$foo
0.2.20080216.1-35
Se você tiver acesso ao GNU grep
, também poderá fazer:
$ grep -oE -- '[0-9.]+-[0-9]*' <<<$foo
0.2.20080216.1-35
ou
$ grep -oP -- '[.\d]+-\d+' <<<$foo
0.2.20080216.1-35
Finalmente, uma vez que você está rodando um sistema CentOS, é uma aposta bastante segura que o Perl esteja instalado, então você também pode fazer:
$ perl -pe 's/.*?([0-9.]+-[0-9]*).*/$1/' <<<$foo
0.2.20080216.1-35