一、命令简介
sort
命令是Linux和Unix系统中用于对文本文件内容进行排序的基本工具。它可以将文件的每一行作为一个单位,按照指定的规则(如字母、数字、月份名等)进行排序,并将结果输出到标准输出(通常是终端)。
二、命令参数
基本用法
sort 选项 文件
常用选项
-
-f
:忽略大小写 -
-n
:按照数值顺序排序 -
-r
:逆序排序 -
-k
:指定排序的关键字 -
-t
:指定字段分隔符 -
-o
:将排序结果写入到文件中
三、命令示例
排序文本
soulio 男 170.3 1
张伟 男 175.5 2
李丽 女 160.2 3
王强 男 182.0 4
刘敏 女 158.7 5
XiaoFang 女 165.4 6
ShunJian 男 170.8 7
ZhouHong 女 162.6 8
1 默认排序
默认情况下,sort
命令会按照字典顺序对文本文件中的行进行排序,并将结果输出到终端。
sort 文件名
输出排序
李丽 女 160.2 3
刘敏 女 158.7 5
王强 男 182.0 4
张伟 男 175.5 2
ShunJian 男 170.8 7
soulio 男 170.3 1
XiaoFang 女 165.4 6
ZhouHong 女 162.6 8
2 忽略大小写排序
对文件内容进行排序,并忽略大小写:
sort -f 文件名
3 指定字段排序
指定排序的关键字(例如第三个字段):
sort -k 2 文件名
soulio 男 170.3 1
ShunJian 男 170.8 7
张伟 男 175.5 2
王强 男 182.0 4
刘敏 女 158.7 5
李丽 女 160.2 3
ZhouHong 女 162.6 8
XiaoFang 女 165.4 6
4 数值排序
按照数值顺序对文件内容进行排序:
sort -k 3 -n 文件名
刘敏 女 158.7 5
李丽 女 160.2 3
ZhouHong 女 162.6 8
XiaoFang 女 165.4 6
soulio 男 170.3 1
ShunJian 男 170.8 7
张伟 男 175.5 2
王强 男 182.0 4
4 逆序
对文件内容进行逆序排序:
sort -k 3 -n -r 文件名
王强 男 182.0 4
张伟 男 175.5 2
ShunJian 男 170.8 7
soulio 男 170.3 1
XiaoFang 女 165.4 6
ZhouHong 女 162.6 8
李丽 女 160.2 3
刘敏 女 158.7 5
6 指定字段分隔符
指定字段分隔符(例如逗号分隔的文件):
sort -t , -k 2 文件名
7 排序结果写入新文件
sort 文件名 -o 排序后文件名
sort
命令非常强大,可以结合其他命令(如 uniq
、grep
等)来进行更复杂的数据处理。