Bash/unix排序"YYYY- [N] NN"

Kal*_*lEl 1 unix linux bash

我有这样的清单 -

2009-96 2010-100 2010-101 2010-97 2010-98 2010-99 2009-99a 2011-102

如何按正确的顺序对数字进行排序,如果年份不同,它按前4位数(年份)排序,否则按照后面的数字排序-

我想要的正确输出是 -

2009-96 2009-99a 2010-97 2010-98 2010-99 2010-100 2010-101 2011-102

twa*_*erg 5

这取决于你的版本sort,因为命令行选项可能不同,但在我的系统上,可行sort -t - -k 1,1n -k 2,2n <filename>.