我有一个包含15列的非常大的数据文件。我需要根据特定列对所有行进行排序,比如第11列。我在Linux中使用此命令:
sort -k11 -d myfile.txt > sortedfile
问题是sort命令不保留文件的原始顺序。敌人,如果我有这样的事情:
1 mh3
3 ygb
4 mh3
I need to have:
1 mh3
4 mh3
3 ygb
但是,我可能会得到:
4 mh3
1 mh3
3 ygb
是否有保留原始订单或我可以使用的任何其他命令的选项?
答案 0 :(得分:6)
选项-s
是您所需要的(相当于--stable
):
sort -k11,11 -d -s myfile.txt > sortedfile
选项-k
适用于一系列字段,因此您应该像我上面那样添加,11
,否则排序将使用从第11列到第11行的键(默认)