Sort
如何在 unix shell 中對數字進行排序?
如何使用排序命令對這些數字進行排序。
10 11 12 1 13 14 15 16 17 18 19 20 21 2 22 3 4 5 6 7 8 9 X Y
正如@terdon 所注意到的,包含
X
和Y
以及數字從 1 到 22 的事實將其辨識為可能的人類染色體列表(這就是他說染色體M
(線粒體)可能缺失的原因)。要對數字列表進行排序,通常會使用
sort -n
:$ sort -n -o list.sorted list
where
list
是未排序的列表,並且list.sorted
將是生成的排序列表。使用
-n
,sort
將對其輸入執行數字排序。但是,由於某些輸入不是數字,因此結果可能不是預期的;X
並且Y
將出現在排序列表中的第一個,而不是最後一個(性染色體通常列在 22 號染色體之後)。但是,如果您使用
sort -V
(用於“版本排序”),您實際上會得到您想要的:$ sort -V -o list.sorted list $ cat list.sorted 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 X Y
如果您確實添加,這可能仍然不起作用,
M
因為它會在之前X
而不是最後進行排序(我相信這是它通常的呈現方式)。