Linux命令行中sort命令的使用方法

sort命令用于对文本行排序,支持字母、数字、字段等多种方式。基本用法为sort filename.txt,按首字符字典序输出;可用>重定向保存结果。通过管道可处理标准输入,如echo -e “banananapple” | sort。常用选项:-r逆序排列;-n按数值排序避免字符串误判;-k指定排序字段,结合-t定义分隔符,如sort -t: -k3 /etc/passwd按冒号分隔的第三字段排序;-u去除重复行;-f忽略大小写。实际应用包括:sort -k2 -n memory.log按内存值排序;cut -d’ ‘ -f1 access.log | sort | uniq -c | sort -nr统计IP频次并降序;sort -t, -k3 -n products.csv对CSV第三列数值排序。掌握-k、-t、-n、-r组合逻辑,可高效处理日志、数据文件等场景。

Linux命令行中sort命令的使用方法

linux命令行中,sort 命令用于对文本文件或输入流中的行进行排序。它支持按字母、数字、字段等多种方式排序,功能非常灵活,是处理日志、数据文件和脚本中常用的基础工具

基本用法

最简单的使用方式是对文件内容按行进行字母顺序排序:

sort filename.txt

这会将文件内容按每行首字符的字典顺序输出到终端,并不会修改原文件。若要保存结果,需重定向输出:

sort filename.txt > sorted.txt

也可以对标准输入进行排序,例如通过管道传递数据:

echo -e “banananapplencherry” | sort

常用选项说明

-r:逆序排列(降序)

sort -r filename.txt

-n:按数值大小排序,而不是字符串

例如有如下内容:

10
2
1

使用 sort -n 才能得到正确数值顺序:

sort -n numbers.txt

-k:按指定字段排序

适用于以分隔符(如空格、制表符)分隔的多列数据。比如按第2个字段排序:

Linux命令行中sort命令的使用方法

行者AI

行者AI绘图创作,唤醒新的灵感,创造更多可能

Linux命令行中sort命令的使用方法100

查看详情 Linux命令行中sort命令的使用方法

sort -k 2 data.txt

默认以空白字符为分隔符。可结合 -t 指定分隔符,例如用冒号:

sort -t: -k 3 /etc/passwd

-u:去重,只保留唯一行

排序后去除重复行:

sort -u duplicated.txt

也可与 -n 或 -k 组合使用。

-f:忽略大小写排序

sort -f names.txt

实际应用场景

查看系统内存使用并按使用量排序(假设从某个日志提取了进程名和内存值):

cat memory.log | sort -k 2 -n

统计访问IP出现次数后按频率排序(配合 cut、uniq 使用):

cut -d’ ‘ -f1 access.log | sort | uniq -c | sort -nr

这条命令链的意思是:提取IP → 排序 → 统计每IP出现次数 → 按次数逆序排列。

csv文件按某一列排序(比如第3列是价格):

sort -t, -k 3 -n products.csv 基本上就这些。掌握 sort 的核心选项后,结合管道和其他文本处理命令,能高效完成大多数排序任务。关键是理解 -k、-t、-n 和 -r 的组合逻辑,避免把数值当字符串排错顺序。

上一篇
下一篇
text=ZqhQzanResources