我正在尝试使用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我想要逻辑上的数字顺序。
泰德。
发布于 2011-12-02 09:22:39
正确的sort调用可能如下所示
$ sort -n -t , -k 1,1 file.txt解释:
-n sort numerically-t , comma is field separator-k 1,1 sort on the first field file.txt input file(对第一个字段进行排序并对逗号进行排序)
调用上面给定的程序会给出
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选项非常方便,只需确保排序按预期工作即可。
https://stackoverflow.com/questions/4230760
复制相似问题