与えられたタブで区切られたデータをソートしたいと思います。
- 最初のレベルは列1で、昇順にソートされます。
- 2番目のレベルは、列2も昇順にソートされることです(ただし条件付き)。 健康状態:列3は一意の値にグループ化する必要がありますが、列2のソート順序もできるだけ維持する必要があります(最小範囲は上にあります)。
- 列3はまったく揃っていませんが、グループ化する必要があります。
入力データ:
2 15881764 9 C|T
2 15881767 9 C|C
2 15881989 4 C|C
2 15882091 4 G|T
2 15882451 9 C|T
2 15882454 9 C|T
2 15882493 9 C|T
2 15882505 6 A|T
3 16882450 6 C|T
3 16882594 6 C|T
3 16882633 6 C|T
3 16882755 6 A|T
予想出力:
2 15881764 9 C|T
2 15881767 9 C|C
2 15882451 9 C|T
2 15882454 9 C|T
2 15882493 9 C|T
2 15881989 4 C|C
2 15882091 4 G|T
2 15882505 6 A|T
3 16882450 6 C|T
3 16882594 6 C|T
3 16882633 6 C|T
3 16882755 6 A|T
すべてのUNIXベースのユーティリティが可能ですが、読みやすくするために、sortとawkがより良いです。
ベストアンサー1
sort -k1,1n -k3,3n -k2,2n file
まず、列1で数値順に並べ替えます。
同点の場合は、3列の数字で並べ替えてください。
同点の場合は、2列の数字で並べ替えてください。