linux行排序命令
linux行排序命令详细介绍
在 Linux 中,常用的行排序命令是 sort,它可以对文件的行进行排序,并支持多种排序规则和选项。以下是 sort 命令的常见用法:
1. 基本用法
bash
选项 文件
- 若不指定文件,默认从标准输入(如管道)读取内容。
- 输出结果默认按字典序排序(ASCII 字符顺序)。
2. 常用选项
| 选项 | 说明 |
|---|---|
-n |
按数字值排序(而非字符的 ASCII 码)。 |
-r |
逆序排序(从大到小或从 Z 到 A)。 |
-u |
去除重复行(仅保留唯一行)。 |
-f |
忽略字母大小写(例如将 "a" 和 "A" 视为相同)。 |
-t |
指定字段分隔符(默认是制表符 \t),用于按字段排序。 |
-k |
指定排序的字段和位置,格式为 k[起始列][,结束列](结合 -t 使用)。 |
-o |
将排序结果输出到指定文件,而非标准输出。 |
-M |
按月份名称排序(如 "Jan"、"Feb" 等)。 |
3. 示例
示例 1:按字典序排序
bash
banana\ncat"
示例 2:按数字值排序
bash
10\n1"
示例 3:逆序排序
bash
A\nb"
示例 4:忽略大小写并排序
bash
a\nB"
示例 5:按字段排序(处理 CSV 等表格数据)
假设有文件 data.csv 内容如下:
csv
按年龄(第 2 列)升序排序:
bash
2n data.csv
示例 6:去除重复行
bash
banana\napple"
4. 其他排序工具
uniq:配合sort使用,用于去除连续重复行(需先排序)。bashfile.txtfile.txt
9123 file.txt | uniq file.txt | uniq
grep+sort:组合使用实现复杂过滤和排序。
总结
sort 命令是 Linux 中处理文本行排序的核心工具,通过不同选项可灵活应对字典序、数字、字段、大小写等多种排序需求。结合管道和其他文本处理工具(如 grep、awk),能实现更强大的数据处理功能。