根据第一个逗号之前的数据对文本文件进行排序

根据第一个逗号之前的数据对文本文件进行排序

我有以下文本文件,其中包含 [数字,IP 地址] 格式的行,并希望根据数字部分对其进行排序。我尝试使用命令

sort -r -k 1 -t"," Input.txt > Output.txt

但是我似乎不知道如何正确获得所需的输出。如果能得到任何帮助我将不胜感激!

输入文件:

20,159.122.220.29
57,180,128.252.1
6749,182.100.67.59
3379,183.3.202.111
87,195.154.49.74
27,208.109.54.40
3085,218.25.208.92
142,41.223.57.47

实际输出文件:

87,195.154.49.74
6749,182.100.67.59
57,180,128.252.1
3379,183.3.202.111
3085,218.25.208.92
27,208.109.54.40
20,159.122.220.20
142,41.223.57.47

所需输出文件:

6749,182.100.67.59
3379,183.3.202.111
3085,218.25.208.92
142,41.223.57.47
87,195.154.49.74
57,180,128.252.1
27,208.109.54.40
20,159.122.220.20

答案1

添加-g标志以使用通用数字而不是 ASCII 进行排序。

sort -r -g -k 1 -t"," Input.txt

-n-h也会根据第一个字段中的数字类型起作用。请参阅man sort了解详情。

相关内容