Linux命令_sort & 排序、去重

目录

1. 语法

1.1. 常用参数

2. 常见用法

2.1. 按数值排序

2.2. 按文件大小排序

2.3. 指定某一列排序

2.4. 去重后排序

2.5. 生成随机数

2.6. 同时查看多个文件

2.7. 排序后的值写入文件(可直接修改文件)


1. 语法

sort [选项] [文件]

 

1.1. 常用参数

常用选项(所有排序为升序,使用降序可加入-r)
-n:按数值排序
-h:按单位大小排序(例如:K/M/G/T)
-k:通过键排序,指定第几列进行排序
-R:随机排序(可用于生成随机数)
-M:将前面3个字母依照月份的缩写进行排序

-r:反转排序结果
-u:去重
-t:指定分隔符

-b:忽略第一列前的空白
-d:只考虑空格、字母、数字、字符(空格 > 特殊字符 > 数字 > 字母)
-i:只考虑可打印字符
-f:忽略大小写,将小写字母折叠成大写字母
-V:排序优先级为数字(数字 > 字母 > 特殊字符)

-m:同时查看多个文件
-o:将结果写入文件,而不是标准输出
-c:检查是否为升序。若是升序,那么无输出,状态码为0;反之输出第一行的错误,状态码为1
-C:同-c,但是不会输出结果
-s:通过禁用最后的比较来稳定排序
-S:使用SIZE作为主内存缓冲区
-z:以0字节结束行,而不是换行符

 

 

2. 常见用法

2.1. 按数值排序

按第一个数字的值进行排序
sort

按正常数字大小升序
sort -n

按正常数字大小降序
sort -n -r

 

2.2. 按文件大小排序

按文件大小升序
sort -h

按文件大小降序
sort -h -r

 

2.3. 指定某一列排序

指定第10列升序
sort -k 10 -n

指定第10列降序
sort -k 10 -r -n

指定第10列降序,且指定分隔符
sort -k 10 -r -n -t ','

 

2.4. 去重后排序

sort -u

 

2.5. 生成随机数

生成0-9随机6位数
seq 0 9 |sort -R |head -6 |xargs |tr -d ' '

生成0-9随机7位数
seq 0 9 |sort -R |head -7 |xargs |tr -d ' '

生成1-9随机8位数
seq 1 9 |sort -R |head -8 |xargs |tr -d ' '

 

2.6. 同时查看多个文件

sort -m [文件1] [文件2] [文件3]

 

2.7. 排序后的值写入文件(可直接修改文件)

先对file.txt进程排序,再将排序的结果写到文件file.txt,这个操作为覆盖
sort -n file.txt -o file.txt

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值