ANALYSIS
Linux 每日一篇 - 36 - sort
Linux 文本排序神器!掌握 sort 命令,轻松处理文本数据排序,让数据整理更专业!
sort 命令是什么?
sort 命令是 Linux 中用于对文本文件内容进行排序的工具,可以按照字典序、数值、月份等不同方式对文本行进行排序,是数据处理的重要工具。
基本用法
PRTCL // PLAINTEXT
# 按字典序排序文件内容sort filename
# 按数值排序(适用于数字内容)sort -n filename
# 反向排序(降序)sort -r filename
# 按月排序sort -M filename
# 忽略大小写排序sort -f filename
# 按特定字段排序sort -k 2 filename # 按第 2 个字段排序sort -k 2,2 filename # 按第 2 个字段排序(仅考虑第 2 个字段)
# 唯一排序(去除重复行)sort -u filename
# 随机排序sort -R filename实用技巧
PRTCL // PLAINTEXT
# 按多个字段排序sort -k 1,1 -k 3,3n filename # 先按第 1 字段排序,再按第 3 字段数值排序
# 指定分隔符排序sort -t ':' -k 2,2 /etc/passwd # 以冒号为分隔符,按第 2 个字段排序
# 按不同的数据类型排序sort -g filename # 按通用数值排序(支持科学计数法)sort -h filename # 按人类可读的大小排序(如 1K, 1M, 1G)
# 按特定字符位置排序sort -k 1.3,1.5 filename # 按第 1 字段的第 3-5 个字符排序
# 输出到文件sort filename > sorted_file.txt
# 同时去重并排序sort -u filename
# 按版本号排序sort -V filename
# 按行长度排序sort -n -k1,1 filename < <(wc -L filename | awk '{print $1 " " $0}')
# 逆序排列sort -r -k 2 filename
# 组合使用选项sort -t ':' -k 3,3n -k 1,1 /etc/passwd常用场景
PRTCL // PLAINTEXT
# 对日志文件按时间排序sort -k 1,1 /var/log/access.log
# 按文件大小排序ls -la | sort -k 5,5n
# 对用户列表按 UID 排序sort -t ':' -k 3,3n /etc/passwd
# 对成绩表按分数排序sort -k 3,3nr grades.txt # 按第 3 列数值降序排列
# 去除重复行并排序sort -u duplicates.txt
# 按 IP 地址排序sort -t '.' -k 1,1n -k 2,2n -k 3,3n -k 4,4n ip_list.txt
# 按文件权限排序ls -la | sort -k 1,1
# 对 CSV 文件排序sort -t ',' -k 2,2 customers.csv
# 按进程内存使用排序ps aux | sort -k 4,4nr
# 对域名按后缀排序sort -t '.' -k 3,3 domain_list.txt高级用法
PRTCL // PLAINTEXT
# 使用临时目录(处理大文件时)sort -T /tmp -u large_file.txt
# 指定缓冲区大小sort -S 1G filename # 使用 1GB 内存缓冲
# 并行处理sort -s filename # 稳定排序(保持相等元素的原始顺序)
# 结合其他文本处理命令cat file1 file2 | sort | uniq > merged_sorted.txt
# 按指定字符数排序sort -k 1.1,1.3 filename # 按第 1 字段的前 3 个字符排序
# 数值和字典混合排序sort -k 2,2d -k 3,3g filename # 第 2 字段字典序,第 3 字段数值序
# 处理科学计数法echo -e "1e2\n3e1\n2e0" | sort -g
# 按文件扩展名排序ls | sort -t '.' -k 2,2
# 在脚本中使用#!/bin/bash# 对成绩进行排序并输出前 10 名sort -k 3,3nr student_scores.txt | head -10实际应用示例
PRTCL // PLAINTEXT
# 示例 1: 处理学生成绩表# 假设文件格式: 姓名 年龄 分数# 按分数降序排列sort -k 3,3nr students.txt
# 示例 2: 处理系统进程# 按 CPU 使用率排序ps aux --no-headers | sort -k 3,3nr
# 示例 3: 处理网络连接# 按连接数排序netstat -an | grep ESTABLISHED | awk '{print $5}' | sort | uniq -c | sort -nr
# 示例 4: 处理日志文件# 按 IP 地址连接数排序awk '{print $1}' access.log | sort | uniq -c | sort -nr
# 示例 5: 处理 CSV 数据# 按特定列排序sort -t ',' -k 3,3n -k 2,2 data.csv
# 示例 6: 合并排序多个文件sort file1.txt file2.txt file3.txt > all_sorted.txt
# 示例 7: 处理配置文件# 按键值对的键排序grep -v '^#' config.conf | sort性能优化
PRTCL // PLAINTEXT
# 对于大文件的处理:# 使用-T 选项指定临时目录sort -T /tmp large_file.txt
# 调整缓冲区大小sort -S 2G large_file.txt
# 利用多核 CPU# 在现代系统中,sort 通常会自动使用多线程
# 使用外部排序算法# sort 命令内部实现了有效的外部排序抖音文案
🎯 Linuxsort 命令!
✅ 基本用法:sort ✅ 常用参数:sort -option ✅ 实用技巧:sort —help
每天一个 Linux 命令,30 天变身 Linux 高手!
#Linux 入门 #Shell 命令 #程序员必备 #技术分享
关于我
全平台同名”汪多多是只猫”,专注分享实用技术教程,让你的 IT 学习之路更轻松!
关注我,每天一个 Linux 命令,轻松入门 Linux 系统!
R P
Rhine Lab Pioneer Division
Auth_Verified: 2026.04.08
Auth_Verified: 2026.04.08
