Linux基础:sort命令总结
本文只总结一些常用的用法,更详细的说明见
man sort
和sort --help
。
sort命令
sort命令用于串联排序指定文件并将结果写到标准输出。
sort可以指定按照何种排序规则进行排序,如按照当前字符集排序规则(这是默认排序规则)、按照字典排序规则、按照数值排序规则、按照月份排序规则、按照文件大小格式(K<M<G
)。还可以去除重复行,指定降序或升序(默认)的排序方式。
字符集排序、字段排序的顺序:
空字符串<空白字符<数值<a<A<b<B<...<z<Z
语法格式
Usage: sort [OPTION]... [FILE]...
or: sort [OPTION]... --files0-from=F
选项说明
OPTION | 说明 |
---|---|
-c | 检测给定的文件是否已经排序。如未排序,则会输出诊断信息,提示从哪一行开始乱序。 |
-b | 忽略字段前面的空格。若空格数量不固定时,推荐使用。"-n"选项隐含该选项。 |
-d | 按照字典顺序排序,只支持字母、数值、空格。 |
-f | 将所有小写字母等同于大写字母。 |
-k | 指定要排序的key。 |
-n | 按数值排序。 |
-o | 将结果输出到指定文件中。 |
-r | 降序排序。 |
-t | 指定字段分隔符。 |
实例
测试文本1.txt
ZZ 2DF
AA 330
Sa n22
dB ss2
DD 231
Aa 500
bB 300
CC 222
BB 200
示例
# 默认的排序规则为字符集排序规则,且为升序
[root@test ~]# sort 1.txt
AA 330
Aa 500
BB 200
bB 300
CC 222
dB ss2
DD 231
Sa n22
ZZ 2DF
# 将小写字母等同于大写字母
[root@test ~]# sort -f 1.txt
Aa 500
AA 330
BB 200
bB 300
CC 222
dB ss2
DD 231
Sa n22
ZZ 2DF
# 降序
[root@test ~]# sort -r 1.txt
ZZ 2DF
Sa n22
DD 231
dB ss2
CC 222
bB 300
BB 200
Aa 500
AA 330
# 根据第二列排序,分隔符为空格
[root@test ~]# sort -t $' ' -k2 1.txt
BB 200
CC 222
DD 231
ZZ 2DF
bB 300
AA 330
Aa 500
Sa n22
dB ss2
# 将以上结果输出到2.txt
[root@test ~]# sort -t $' ' -k2 1.txt -o 2.txt
[root@test ~]# cat 2.txt
BB 200
CC 222
DD 231
ZZ 2DF
bB 300
AA 330
Aa 500
Sa n22
dB ss2
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗