在bash使用sort与-n选择不给我预期的结果。
bash
sort
-n
$ cat numbers | sort -n 1.0 1.1 1.11.4 1.15 1.3 1.3.3 1.4-p1 1.6.1 2.2.10 2.2.2 2.4 2.4.6
我尝试使用-k1,-k1.1n等(-k1.3n仅对以开头的数字获得正确的顺序1)。似乎这里有些我很想念的东西…
-k1
-k1.1n
-k1.3n
1
您需要-t。标志以指定“。” 作为分隔符,多个键位置说明符可处理越来越长/更深的数字。我仍然不太清楚它是如何工作的,但是它的工作原理是…
sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n numbers
要么
cat numbers | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n