假设我有一个如下所示的输入文件:
65CH6 N 990 3.717 2.836 2.649
65CH6 HMN1 991 3.807 2.880 2.647
61VAL N 894 4.260 3.037 2.527
61VAL HN 895 4.355 3.063 2.538
61VAL CA 896 4.189 2.958 2.625
61VAL C 908 4.057 3.023 2.669
61VAL O 909 3.952 2.958 2.668
64PHE N 938 3.817 3.002 2.420
64PHE HN 939 3.915 3.018 2.412
64PHE CA 940 3.760 2.868 2.403
64PHE HA 941 3.682 2.866 2.327
现在我想对这些行进行排序,但仅基于第一列,即 得到这样的东西:
61VAL N 894 4.260 3.037 2.527
61VAL HN 895 4.355 3.063 2.538
61VAL CA 896 4.189 2.958 2.625
61VAL C 908 4.057 3.023 2.669
61VAL O 909 3.952 2.958 2.668
64PHE N 938 3.817 3.002 2.420
64PHE HN 939 3.915 3.018 2.412
64PHE CA 940 3.760 2.868 2.403
64PHE HA 941 3.682 2.866 2.327
65CH6 N 990 3.717 2.836 2.649
65CH6 HMN1 991 3.807 2.880 2.647
而不是sort -g file.dat > file-sorted.dat
61VAL CA 896 4.189 2.958 2.625
61VAL HN 895 4.355 3.063 2.538
61VAL C 908 4.057 3.023 2.669
61VAL N 894 4.260 3.037 2.527
61VAL O 909 3.952 2.958 2.668
64PHE CA 940 3.760 2.868 2.403
64PHE HA 941 3.682 2.866 2.327
64PHE HN 939 3.915 3.018 2.412
64PHE N 938 3.817 3.002 2.420
65CH6 HMN1 991 3.807 2.880 2.647
65CH6 N 990 3.717 2.836 2.649
我用sort -g -k1,5 file.dat > file-sorted.dat
得到的东西
是这个
61VAL CA 896 4.189 2.958 2.625
61VAL HN 895 4.355 3.063 2.538
61VAL C 908 4.057 3.023 2.669
61VAL N 894 4.260 3.037 2.527
61VAL O 909 3.952 2.958 2.668
64PHE CA 940 3.760 2.868 2.403
64PHE HA 941 3.682 2.866 2.327
64PHE HN 939 3.915 3.018 2.412
64PHE N 938 3.817 3.002 2.420
65CH6 HMN1 991 3.807 2.880 2.647
65CH6 N 990 3.717 2.836 2.649
答案 0 :(得分:1)
您必须指定起始键和键数,并且还要禁用"最后的手段"将其他所有内容排序的功能:
sort -g -k1,1 -s file.dat > file-sorted.dat
有关详细信息,请参阅sort man page。