2016-12-11 8 views
0

私はこのようになり、入力ファイルがあるとします。ソートライン

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 

今、私はこれらの行を並べ替えるだけで、最初の列に基づいて、すなわち このような何かを取得したいと思いを:代わりに、私は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 

アンで何を得るの

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 -k1,1 -s file.dat > file-sorted.dat 

を参照してください:D私は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 

答えて

1

です詳細についてはsort man pageをご覧ください。

+0

オハイオ州、私はそれを見ませんでした!愚かな私。それを指摘してくれてありがとう。 – user2300369

+0

まあ、実際には、それは仮定されているように動作しません。 '' sort''コマンドは、行の他の部分にも沿って行を部分的にソートします。 – user2300369

+0

@ user2300369:私の間違い。キーの長さではなく、開始キーとキーの数を指定する必要があります。だから、 'k1,1'は正解です。 –