2

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

我的桌子看起来像这样:

文件.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

我想要逻辑数字顺序。

特德。

4

1 回答 1

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

When sorting by fields it is very handy to use --debug option, just to make sure that sort works as expected.

于 2011-12-02T01:22:39.413 回答