美文网首页程序员linux
linux sort 命令实用手册

linux sort 命令实用手册

作者: 码农充电站pro | 来源:发表于2020-04-17 17:53 被阅读0次

Linux 中的sort 命令是一个很实用的工具,用于对文本内容为单位进行ASCII 码排序,默认按照升序进行排序(当然也可以按照降序)。

sort 命令的格式如下:

linux sort 命令实用手册sort 参数 文件名

这里不打算介绍其完整的使用方法,只介绍其重用方法,其完整手册可参看man sort

比如,我们有如下文本内容,可以看到其内容是无序的,其中有两行333bbb

>>> cat log.txt 
_______________
555
333
2222
666
333
bbb
CCC
aaa
ccc
bbb

1,基本使用

使用sort 命令,不加任何参数,对该文件进行排序,如下,可看到已按照ASCII 码 进行了排序:

>>> sort log.txt 
________________
2222
333
333
555
666
CCC
aaa
bbb
bbb
ccc

使用-f 参数可以忽略字符大小写进行排序,注意观察CCC 的位置:

>>> sort -f log.txt
___________________
2222
333
333
555
666
aaa
bbb
bbb
CCC
ccc

使用-r 参数可以进行反向排序:

>>> sort -r log.txt 
___________________
ccc
bbb
bbb
aaa
CCC
666
555
333
333
2222

使用-u 参数,可以对重复行进行去重,可以看到只剩下一行333bbb

>>> sort -u log.txt 
___________________
2222
333
555
666
CCC
aaa
bbb
ccc

使用-o 参数,可以将排序结果写到某个文件(也可以是原文件),如下,将文件内容输出到log.txt2

sort -u log.txt -o log.txt2

使用-n 参数,可以将排序结果按照数字大小进行排序,可以看到2222 排在了666 下面,这里只关心数字之间的次序就行(不需要关心字母数字的关系):

>>> sort -n log.txt
___________________
aaa
bbb
bbb
ccc
333
333
555
666
2222

2,进阶使用

sort 命令还可以对行内容,先进行分割,再按照某列进行排序,这时需要用到-t-k 参数。

-t 参数用于设置以什么字符为分隔符,-k 参数用于以分割后的哪一列进行排序,如果没有设置,默认会按照第一列进行排序。

比如,我们有如下内容,每行内容以逗号,分割,注意第4行只有一列ddd

>>> cat log2.txt 
________________
bbb,333
aaa,2222
ccc,66
ddd,
bbb,555

我们以逗号, 进行分割,并按照第一列进行排序,如下:

>>> sort -t , log2.txt 
______________________
aaa,2222
bbb,333
bbb,555
ccc,66
ddd,

按照第一列的第二个字符开始排序,如下1.2 表示从第一列的第二个字符开始排序:

>>> sort -t , -k 1.2 log2.txt
_____________________________
aaa,2222
bbb,333
bbb,555
ccc,66
ddd,

按照第二列,并以数字大小进行排序,如下:

>>> sort -t , -k 2 -n log2.txt 
——————————————————————————————
ddd,
ccc,66
bbb,333
bbb,555
aaa,2222

先按照第二列,再按照第一列进行排序,如下:

>>> sort -t , -k 2 -k 1  log2.txt 
_________________________________
ddd,
aaa,2222
bbb,333
bbb,555
ccc,66

下面总结一下以上讲到的参数及其含义:

参数 含义
-f 将小写字母视为大写字母,即忽略大小写
-r 反向排序
-u 去重
-o 输出到文件
-n 以数字大小进行排序
-t 设置分隔符
-k 设置按照第几列排序,与-t 参数配合使用

(完。)

相关文章

  • linux sort 命令实用手册

    Linux 中的sort 命令是一个很实用的工具,用于对文本内容以行为单位进行ASCII 码排序,默认按照升序进行...

  • 常用命令: sort学习笔记

    本文的sort命令是GNU版本(8.22), 和BSD的sort不同 sort是我最常用Linux命令之一,它的功...

  • awk命令

    下文来自:美团 吴孟达更多AWK命令请参考:Linux awk 命令扩展:linux sort,uniq,cut,...

  • Linux命令学习之:sort命令

    Linux命令学习之:sort命令 sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出。如...

  • linux命令 - sort

    功能 sort or merge records (lines) of text and binary files

  • sort 命令详解

    在linux系统使用过程中,提供了sort排序命令,支持常用的排序功能。 常用参数 sort命令支持很多参数,常用...

  • PHP高手进阶指南

    Linux常用命令 grep、awk、sed、sort、uniq、ps、df Linux系统性能分析 vmstat...

  • sort命令讲解

    sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出。sort命令既可以从特定的文件,也可...

  • linux入门之命令执行顺序控制与管道

    基本概念 本文旨在帮助你了解linux中顺序执行、选择执行、管道、cut命令、grep 命令、wc命令、sort命...

  • linux sort 命令整理

    sort 对文件内容进行排序 语法: 选项: 参数就不一一介绍了,直接上例子,首先先看下原始的排序数据cat so...

网友评论

    本文标题:linux sort 命令实用手册

    本文链接:https://www.haomeiwen.com/subject/ozgyvhtx.html