linux - 当数字相等时按数字排序但不按字母排序
问题描述
我有一个这样的文件:
A 0.77
C 0.98
B 0.77
Z 0.77
G 0.65
我想按降序对文件进行数字排序。我使用了这段代码:
sort -gr -k2,2 file.txt
我得到这个:
C 0.98
Z 0.77
B 0.77
A 0.77
G 0.65
在我的真实文件中,我有几列具有相同的数字,它们按字母顺序排列。我想要的是在数字相等时按数字排序但不按字母顺序排序,我想获得那些未按字母顺序排序的列:
C 0.98
B 0.77
Z 0.77
A 0.77
G 0.65
但是任何随机顺序都可以。
解决方案
你可以使用这个sort
:
sort -k2rn -k1R file
C 0.98
B 0.77
Z 0.77
A 0.77
G 0.65
使用了 2 个排序选项:
-k2rn
: 第一个排序键是第 2 列;数字,反向-k1R
: 第二个排序键是第 1 列;随机的
推荐阅读
- svg - 带有 wkhtmltopdf 的 SVG 内容未正确呈现
- javascript - 如何从 React Native 中的 Reac Navigation 禁用 createDrawerNavigation 中的标头
- php - 如果 php.ini 中的 post_max_size=8000M,如何使用 PHP 检查最大文件大小
- sql - 具有重复值的案例语句,Hadoop
- database-normalization - 具有函数依赖关系的依赖关系保持分解不会出现在子模式中
- django - 找不到 PUT 方法的 Django Rest Framwork CSRF cookie
- javascript - 在 Excel 中导出时,欧元符号“€”显示不佳
- powerbuilder - 我正在使用 PowerBuilder,但 (if, or, and) 条件有问题
- python - 如何更快地获得子矩阵块?
- php - 检查 Path 是否指向 DIRECTORY 内部或 path 是 DIRECTORY 的子目录