1

我有一个这样的清单-

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

4

2 回答 2

5

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

于 2012-06-14T18:39:59.737 回答
3

使用 GNU 排序(Linux 上的标准):

sort -t'-' -n

sort\n对行进行排序,因此请使用tr@dimba 的答案中所示的方式来回转换空格分隔符。

于 2012-06-14T18:36:42.337 回答