sort 命令:文本排序
侧边栏壁纸
  • 累计撰写 146 篇文章
  • 累计收到 2 条评论

sort 命令:文本排序

soulio
2024-09-25 / 0 评论 / 7 阅读 / 正在检测是否收录...

一、命令简介

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​ 等)来进行更复杂的数据处理。

本文共 435 个字数,平均阅读时长 ≈ 2分钟
0

海报

正在生成.....

评论 (0)

取消