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