shell脚本学习(7)sort

Yyqingmofeige 2019-10-30

1 sort的格式

sort [options] [files]

sort 参数  文件

2 参数 -t 用单个符char作为默认的字段分隔符, 默认字段分隔符是空白

   参数-k 用来定义排序键值字段

 一般是 -t分割好字段, 再在字段中

 

原始数据

shell脚本学习(7)sort

t:说明原数据 按:分段

k1 说明指定字段1, 键值会从该字段的开始, 一直到字段结束而非字段的结尾。(也就是范围很大咯)

 排序1     这种排序没看出是做什么用的

sort -t: -k1 /etc/passwd

shell脚本学习(7)sort

 排序2  k用逗号修饰, 表示排序键值由第一个字段值的开始出开始, 结束于第二个字段的结尾位置

这里1,1  是说键值用第一个字段表示

sort -t: -k1,1 /etc/passwd

和上面的结果没差别,但理论上不同

shell脚本学习(7)sort

排序3  指定键值为第三段,并按数字比较,然后倒叙

sort -t: -k3,3nr /etc/passwd

k的修饰符 n 表示按照数字(整数)比较

k的修改符 r 表示按照倒置排序

shell脚本学习(7)sort

排序 4  先按字段4的整数排序, 再按字段3 的整数排序

通过写两个 -k 字段号,字段号n来实现

sort -t: -k4,4n -k3,3n /etc/passwd

 比对这3组可以看出是先看第四字段排序了, 再按第三字段排

shell脚本学习(7)sort

排序 5 只输出位置的排序记录,有点拗口, 就是比对的键值重复出现

sort -t: -k4,4n -u /etc/passwd

比如这个时候就没有两行都带7的了。

shell脚本学习(7)sort

相关推荐