6.linux每日一个命令@sort
1.sort
Linux sort 命令用于将文本文件内容加以排序。
sort 可针对文本文件的内容,以行为单位来排序。
2. 语法
sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件][-k field1[,field2]]
3.参数说明
-b 忽略每行前面开始出的空格字符。 -c 检查文件是否已经按照顺序排序。 #有序不返回结果,无序返回错误结果。 -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。 -f 排序时,将小写字母视为大写字母。 -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。 -m 将几个排序好的文件进行合并。 -M 将前面3个字母依照月份的缩写进行排序。 -n 依照数值的大小排序。 -u 意味着是唯一的(unique),输出的结果是去完重了的。 -o<输出文件> 将排序后的结果存入指定的文件。 -r 以相反的顺序来排序。 -t<分隔字符> 指定排序时所用的栏位分隔字符。 +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。 --help 显示帮助。 --version 显示版本信息。 [-k field1[,field2]] 按指定的列进行排序。
4. 实例
4.1 练习文本 . cat job.txt
[root@ecs-76840553 sed]# cat job.txt tom 77 boy haol 88 girl tom 77 boy jaol 88 girl hihi 99 boy Tom 77 boy vivi 66 girl
4.2 默认文本输出。 sort 文件名
[root@ecs-76840553 sed]# sort job.txt Tom 77 boy haol 88 girl hihi 99 boy jaol 88 girl tom 77 boy tom 77 boy vivi 66 girl [root@ecs-76840553 sed]#
默认按第一个字母开始排序,ascii码排序
4.3 去重。-u 意味着是唯一的(unique)
[root@ecs-76840553 sed]# sort -u job.txt Tom 77 boy haol 88 girl hihi 99 boy jaol 88 girl tom 77 boy vivi 66 girl [root@ecs-76840553 sed]#
4.4 将小写字母按照大写字母排序 。-f 排序时,将小写字母视为大写字母
[root@ecs-76840553 sed]# sort -f job.txt haol 88 girl hihi 99 boy jaol 88 girl Tom 77 boy tom 77 boy tom 77 boy vivi 66 girl [root@ecs-76840553 sed]#
4.5 以第二,第三列排序
[root@ecs-76840553 sed]# sort job.txt -k 2 -k 3 vivi 66 girl Tom 77 boy tom 77 boy tom 77 boy jaol 88 girl haol 88 girl hihi 99 boy [root@ecs-76840553 sed]#
4.6 依照数值的大小排序 -n
[root@ecs-76840553 sed]# sort -n job.txt Tom 77 boy haol 88 girl hihi 99 boy jaol 88 girl tom 77 boy tom 77 boy ton 77 boy vivi 66 girl
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通