-k选项使用有一个潜规则,如果不注意排序是不对的。
举个例子,以下内容保存为fruit:
apple 4
apple 5
第一个字段为水果名称,第二个字段为价格。我的需求是,首先对水果名称进行排序,然后再根据价格进行降序。我的第一反应是:
cat fruit|sort -k1 -k2nr
结果是什么?居然还是:
apple 4
apple 5
正确的命令应该是:
cat fruit|sort -k1,1 -k2nr
这样的结果才正确:
apple 5
apple 4
查看sort -k说明:
-k POS1[,POS2]
--key=POS1[,POS2]
Specify a sort field that consists of the part of the line between
POS1 and POS2 (or the end of the line, if POS2 is omitted)
意思是如果省略了POS2,那么排序字段的end就会设定为行尾。太奇怪的规则了,这样很容易让人误用。
回到刚才的例子,使用awk -k1的后果是,第一个排序字段的内容延长到行尾,包括了价格,使得-k2nr的作用完全失效。
初次使用sort要注意这个潜规则,很无语。
分享到:
相关推荐
sort命令的k选项大讨论,最详细的Sort命令介绍。
前端开源库-import-sort-parser-babylon导入排序分析器巴比伦,一个基于javascript分析器巴比伦的导入排序分析器。
sort-deepsort-yolov3-ROS-master.zip
前端开源库-eslint-plugin-sort-imports-es6-autofixeslint-plugin-sort-imports-es6-autofix,一个排序导入规则,可以正确区分es6导入类型。
21.[开源][安卓][拖拽]drag-sort-listview-master DragSortListView(DSLV)是Android ListView的一个扩展,支持拖拽排序和左右滑动删除功能。重写了TouchInterceptor(TI)类来提供更加优美的拖拽动画效果。 DSLV...
DeepSORT-YOLOv5猫狗检测和跟踪,含有yolov5猫狗检测权重,能可视化目标运动轨迹
在对传统的Sort-Merge-Join算法进一步研究的基础上,提出了一种改进的闪存数据库Sort-Merge-Join算法。该算法只对小关系进行外排序,避免了大关系的外排序,节省了大量时间,同时最小化了中间临时表,达到了少写闪存...
drag sort listview android
eslint-plugin-sort-destruct-keys 要求对对象分解键进行排序 ...注意:如果全局安装了ESLint(使用-g标志),则还必须全局安装eslint-plugin-sort-destructure-keys 。 用法 将sort-destructure-keys添加到.eslintr
deepsort-yolov3-车辆行人-跟踪结果
drag-sort-listview是一个支持拖拽排序和左右滑动删除功能的自定义ListView.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
ShellSort-ShellSort
opencv拉流yolov5推理-deepsort追踪-rtmp ffmpeg推流 人车流统计计数
deepsort-v1.2
$ npm install eslint-plugin-sort-keys-shorthand --save-dev 配置 将“ sort-keys-shorthand”添加到插件部分。 { " plugins " : [ " sort-keys-shorthand " ] } 停用原始的sort-keys规则。 { " rules " : { ...
YOLOv8-DeepSORT_code.zipYOLOv8-DeepSORT_code.zipYOLOv8-DeepSORT_code.zipYOLOv8-DeepSORT_code.zip YOLOv8-DeepSORT_code.zip
npm install --save-dev @trivago/prettier-plugin-sort-imports 或者,使用纱线 yarn add --dev @trivago/prettier-plugin-sort-imports 用法 在更漂亮的配置文件中添加订单。 module.exports = { "printWidth":...
eslint-plugin-sort-imports-es6-autofix 排序导入规则可以正确区分ES6导入类型,并且还可以自动修复所有检测到的问题。 ESLint的内置sort-imports规则将以下内容视为同一类型的导入: import foo from 'foo' ;...
源码参考,欢迎下载
deep_sort_pytorch-master-yolov3配置好的代码,使用darknet版YOLOv3.weights权重