Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个这样的清单-
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
这取决于您的 版本sort,因为命令行选项可能不同,但在我的系统上sort -t - -k 1,1n -k 2,2n <filename>可以使用。
sort
sort -t - -k 1,1n -k 2,2n <filename>
使用 GNU 排序(Linux 上的标准):
sort -t'-' -n
sort\n对行进行排序,因此请使用tr@dimba 的答案中所示的方式来回转换空格分隔符。
\n
tr