Linux AWK排序降序不起作用

我有两个文件需要排序.

我正在使用的命令是:

cat first-in.txt | awk '{print $2}' | cut -d '/' -f 3 | cut -d '^' -f 1 | sort -b -t . -k 1,1nr -k 2,2nr -k 3,3r -k 4,4r -k 5,5r | uniq > first-out.txt


cat second-in.txt | awk '{print $2}' | cut -d '/' -f 3 | cut -d '^' -f 1 | sort -b -t . -k 1,1nr -k 2,2nr -k 3,3r -k 4,4r -k 5,5r | uniq > second-out.txt

问题是:
我需要按降序正确排序,因为现在,只有文件2正确排序,而文件1没有正确排序.

我想知道我正在犯的错误

档案

All files are here including output are here

提前致谢.

解决方法:

我想你是说这是错误的:

4.2.4
4.2.3
4.2.20
4.2.2

您希望4.2.20高于所有这些,对吗?

您可以通过更改排序的-k参数以将所有字段都视为数字来解决此问题:

.... -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr -k 5,5nr ....
上一篇:如何使用PHP对数组进行排序


下一篇:Linux内核装载和启动一个可执行程序