一个文本文件有多列,其中一列是" start"和另一个"结束",两者都保持正整数值。但是,由于所描述的对象(将它们视为放置在数字线上的向量)具有方向,因此它们可以以这样的方向结束:
400 20 (start at 400, end at 20)
10 100 (start at 10, end at 100 )
300 15 (start at 300, end at 15)
通常人们希望按范围排序,而不是开始或结束值。行的范围限制为:(min(开始,结束),max(开始,结束))。 所以按下限排序会得到这个顺序:
10 100 (start at 10, end at 100 )
300 15 (start at 300, end at 15)
400 20 (start at 400, end at 20)
这种类型的排序可以使用Perl或任何其他类似的脚本语言来完成,首先生成较低的范围限制,然后对其进行排序。但是,据我所知,没有办法直接使用通常的unix / linux排序实用程序。指定类似的东西:
sort -k 1,1n -k 2,2n
对第一个进行排序,然后如果存在平局,则对第二个进行排序。但这并不是理想的排序。
有没有办法做这种类型的"最少的多列"只使用"排序"?