A classificação GNU tem -V , que pode lidar principalmente com uma lista como essa ( detalhes ):
-V, --version-sort
natural sort of (version) numbers within text
$ cat vers
release-5.0.19
release-5.0.19~pre1
release-5.0.19-bigbugfix
release-5.0.2
release-5.0.20
$ sort -V vers
release-5.0.2
release-5.0.19~pre1
release-5.0.19
release-5.0.19-bigbugfix
release-5.0.20
No entanto, essas .rc* versões podem ser um pouco problemáticas, uma vez que elas provavelmente devem ser classificadas antes da versão não-rc correspondente, se houver ambas, ou seja. Alguns sistemas de versionamento (como o do Debian) usam sufixos começando com um til ( ~ ) para marcar os pré-lançamentos, e eles ordenam antes da versão sem um sufixo, que ordena antes das versões com outros sufixos. Aparentemente isso é suportado por pelo menos o sort no meu sistema, como mostrado acima ( sort (GNU coreutils) 8.23 ).