Linux基础入门之sort命令详解


本文摘自PHP中文网,作者巴扎黑,侵删。

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

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

8723 23423

321324 213432

23 234

123 231

234 1234

654 345234

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

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

对第一列排序

1

sort test

对第二列进行排序

1

sort -k 2 test

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

8723,23423

321324,213432

23,234

123,231

234,1234

654,345234

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

1

sort -t "," -k 2 test

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

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

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

1

sort -r test

输出结果:

8723 23423

654 345234

321324 213432

234 1234

23 234

123 231

3. sort的-n选项

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

1

sort -n test

输出结果:

23 234

123 231

234 1234

654 345234

8723 23423

321324 213432

1

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命令详解的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

mac和Linux区别

Linux判断是否是文件

Linux解决su root切换提示没有文件或目录的图文详解

探秘Linux swap交换内存扩容的方法

为缩短镜像制作及创建实例的周期应该怎么使用ecs镜像规范检测工具

Linux中php配置文件在哪

Linux怎么启动dhcp服务器

实例状态为已停止如何调用该接口

Linux开发要学习什么内容

Linux中如何使用rename命令重命名文件?

更多相关阅读请进入《Linux》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...