使用sort gnuwin32对txt文件中的数字进行排序,每行第二个值优先于第一个值

时间:2015-08-07 09:35:16

标签: csv batch-file cmd text-files gnu-sort

我正在写一个.bat文件来对带有坐标的文本文件进行排序:

input 
-30.125,10.555
-8.2333,9.00
12.2556,-10
10,10.555
15,20.1
15,25
20,10.555
-10,10.555

requested output:
12.2556,-10
-8.2333,9.00
-30.125,10.555
-10,10.555
10,10.555
20,10.555
15,20.1
15,25

我的代码:

sort --g --field-separator=, --key=2,1 "input coordinates.txt" > "sortedcoordinates.txt"

使用我的代码输出,如您所见,第一列中的负值从高到低排序:

12.2556,-10
-8.2333,9.00
-10,10.555
-30.125,10.555
10,10.555
20,10.555
15,20.1
15,25

1 个答案:

答案 0 :(得分:1)

您误解了-key选项的用法。您必须为每个键指定一个单独的--key选项。每个选项的第二个值指定终止字段。因此,如果每个键选项都是一个列,则start和stop值应匹配。

sort -g --field-separator=, --key=2,2 --key=1,1 "input coordinates.txt" > "sortedcoordinates.txt"