系统相关
首页 > 系统相关> > shell-script – Solaris:对数值进行排序

shell-script – Solaris:对数值进行排序

作者:互联网

我有一个包含以下值的文件.

keyword1 19.02 1.69.94
keyword2 19.01 1.68.118
keyword3 19.02 1.69.119
keyword4 19.01 1.68.115
keyword5 19.02 1.69.304
keyword6 19.02 1.69.39

我希望这些基于第3列进行排序.

在Linux中,使用版本排序的以下命令有效.

raj@VirtualBox:$grep 19.02 file.txt | sort -t ' ' -k3 -V
keyword6 19.02 1.69.39
keyword1 19.02 1.69.94
keyword3 19.02 1.69.119
keyword5 19.02 1.69.304

在Unix(Solaris)上,版本排序似乎缺失.我在Solaris上寻找工作替代方案,但找不到.

我也可以在python中使用一个解决方案.

解决方法:

您可以尝试反转字段并使用.作为字段分隔符:

awk '{print $3,$2,$1}' your_file |
   sort -nt. -k1,1 -k2,2 -k3,3 |
   awk '{print $3,$2,$1}'

另外,我的solaris系统在/usr/gnu / bin / sort中有GNU排序(与linux中相同),我不记得曾经安装过它;-)

标签:python,shell,solaris,sort,shell-script
来源: https://codeday.me/bug/20190816/1666163.html