Linux之关于sort命令的使用详解

发布时间 - 2017-06-07 00:00:00    点击率:

sort是在linux里非常常用的一个命令,将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ascii码值进行比较,最后将他们按升序输出。

这里有一个文件test,内容为:

8723 23423
321324 213432
23 234
123 231
234 1234
654 345234

1. sort的-t选项和-k选项

sort提供了-t选项,后面可以设定间隔符, -k来指定列数。

对第一列排序

sort test

对第二列进行排序

sort -k 2 test

如果将test文件的内容改为:

8723,23423
321324,213432
23,234
123,231
234,1234
654,345234

如果要对第二列按照大小排序

sort -t "," -k 2 test

如果没有-t选项的话,就是默认的空格或者tab键,因此上面就没有使用-t选项。

2. 倒序排列使用 -r 选项

sort默认的排序方式是升序,-r参数则是改成降序

sort -r test

输出结果:

8723 23423
654 345234
321324 213432
234 1234
23 234
123 231

3. sort的-n选项

sort默认按ASCII码值进行比较, 所以大家看上面2中的结果会发现, 8723 比 321324 却排在了最前面。 那我们如何让它按照数字大小排序呢?这时候就该-n参数出场了。

sort -n test

输出结果:

23 234
123 231
234 1234
654 345234
8723 23423
321324 213432
sort -rn test

输出结果:

321324 213432
8723 23423
654 345234
234 1234
123 231
23 234

附:sort命令参数详解

-f  将小写字母都转换为大写字母来进行比较,亦即忽略大小写

-c  检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1

-C  检查文件是否已排好序,如果乱序,不输出内容,仅返回1

-M  以月份来排序,比如JAN小于FEB等等

-b  忽略每一行前面的所有空白部分,从第一个可见字符开始比较

-u  在输出行中去除重复行, 不改变文件本身内容


# linux  # 升序  # 第一个  # 是在  # 则是  # 是从  # 亦即  # 如果没有  # 相关信息  # 作为一个  # 要对 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: linux top下的 minerd 木马清除方法  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  如何快速查询网址的建站时间与历史轨迹?  HTML 中动态设置元素 name 属性的正确语法详解  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  大同网页,大同瑞慈医院官网?  浅述节点的创建及常见功能的实现  Laravel怎么为数据库表字段添加索引以优化查询  如何在云主机上快速搭建网站?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  BootStrap整体框架之基础布局组件  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  Bootstrap整体框架之CSS12栅格系统  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  jQuery 常见小例汇总  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  Android Socket接口实现即时通讯实例代码  大型企业网站制作流程,做网站需要注册公司吗?  如何在腾讯云服务器快速搭建个人网站?  无锡营销型网站制作公司,无锡网选车牌流程?  如何自定义建站之星模板颜色并下载新样式?  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  如何解决hover在ie6中的兼容性问题  如何快速查询域名建站关键信息?  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  Laravel如何实现本地化和多语言支持?(i18n教程)  千库网官网入口推荐 千库网设计创意平台入口  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  Laravel如何配置和使用缓存?(Redis代码示例)  如何挑选最适合建站的高性能VPS主机?  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  如何做网站制作流程,*游戏网站怎么搭建?  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  网站制作大概多少钱一个,做一个平台网站大概多少钱?  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  教学论文网站制作软件有哪些,写论文用什么软件 ?  Laravel怎么清理缓存_Laravel optimize clear命令详解  微信小程序 scroll-view组件实现列表页实例代码