使用coreutil的排序进行排序

时间:2010-11-20 01:30:45

标签: sorting gnu-coreutils

我正在尝试使用gnu-coreutils sort命令根据从最小值到最大值的第一个值对表进行排序。

我的表看起来像这样:

file.txt的

100,0.8,0.323, ... some more data
2,0.323,0,323, ...
4, ...
53, ...
.
.
121, ...

我尝试过以下操作:

sort -n -k 1 file.txt

但我得到的东西就像......

10,0,10,10
100,9,1,10
101,9,2,11
102,9,3,12
103,9,4,13
104,9,5,14
105,9,6,15
106,9,7,16
107,9,8,17
108,9,9,18
21,1,10,11
32,2,10,12
43,3,10,13
54,4,10,14

我想要逻辑数字顺序。

泰德。

1 个答案:

答案 0 :(得分:1)

sort的正确调用可能看起来像

$ sort -n -t , -k 1,1 file.txt

说明:

  • -n按数字排序
  • -t ,逗号是字段分隔符
  • -k 1,1排序第一个字段
  • file.txt输入文件

调用上面给出的程序给出了

  

10,0,10,10
  21,1,10,11
  32,2,10,12
  43,3,10,13
  54,4,10,14
  100,9,1,10
  101,9,2,11
  102,9,3,12
  103,9,4,13
  104,9,5,14
  105,9,6,15
  106,9,7,16
  107,9,8,17
  108,9,9,18

按字段排序时,使用--debug选项非常方便,只是为了确保排序按预期工作。