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