首页 > 运维 > linux运维 > 正文

Linux基础入门之sort命令详解

巴扎黑
发布: 2017-08-17 10:22:58
原创
2104人浏览过

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基础入门之sort命令详解的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号