我有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
是否可以选择保留原始顺序或其他我可以使用的命令?
最佳答案
您需要的是-s
选项(相当于--stable
):
sort -k11,11 -d -s myfile.txt > sortedfile
选项
-k
适用于一定范围的字段,因此您应该像上面一样添加,11
,否则排序将使用从第11列到行尾的键(默认)。关于sorting - 如何按列对文本文件进行排序并保持原始顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20612533/