数据排序与去重(sort、uniq、cut)
将原始文本转换为整洁、有序的数据。学习如何对行排序、使用 uniq 删除重复项、使用 cut 提取列,然后将它们串联成数据处理流水线。
数据排序与去重(sort、uniq、cut) 是 CoddyKit 上的免费 Linux Command Line & Bash Scripting Mastery 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Linux Command Line & Bash Scripting Mastery 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Linux Command Line & Bash Scripting Mastery 课程共包含 4 节课。
整理文本数据
日志文件和 CSV 都只是文本行。三个经典工具可以整理它们:sort 为各行排序,uniq 删除重复行,cut 提取列。
基本排序
sort 默认按字母顺序排列各行,并输出结果。
sort names.txt数值排序
普通排序会将数字当作文本处理(10 排在 2 前面)。使用 -n 进行真正的数值排序,使用 -r 反转排序顺序。
sort -n sizes.txt
sort -nr sizes.txt # largest first按字段排序
使用 -k 按指定列排序,使用 -t 设置分隔符。
sort -t: -k3 -n /etc/passwd # by UID使用 uniq 删除重复项
uniq 会合并相邻的重复行。它只对已排序的输入有效,因此几乎总是与 sort 配合使用。
sort access.log | uniq统计出现次数
uniq -c 会在每行前加上该行出现的次数,非常适合进行频率分析。
sort ips.txt | uniq -c查找出现次数最多的项目
组合使用 sort、uniq -c 和另一个 sort,按频率排列项目——即可生成单行的“前 N 项”报告。
sort ips.txt | uniq -c | sort -nr | head -5使用 cut 提取列
cut 会从每行提取字段。使用 -d 指定分隔符,使用 -f 指定字段编号。
cut -d, -f1,3 data.csv # 1st and 3rd columns按字符截取
cut -c 会按位置提取字符范围,适用于定宽数据。
cut -c1-8 dates.txt # first 8 chars唯一行与重复行
uniq -d 只显示重复出现的行,而 uniq -u 只显示恰好出现一次的行。
sort orders.txt | uniq -d # repeated only构建管道
真正强大的地方在于串联操作:提取一列、对其排序,然后统计唯一值,只需一条命令即可概括数据集。
cut -d, -f2 sales.csv | sort | uniq -c | sort -nr快速检查
测试您对本节内容的理解。
回顾
您学会了使用 sort 整理数据(字母排序、数值排序 -n、按字段排序 -k)、使用 uniq 处理数据(去除相邻重复行、使用 -c 计数、使用 -d/-u 筛选),以及使用 cut 提取数据(使用 -d/-f 提取字段,使用 -c 提取字符),并将它们串联成强大的管道。
常见问题解答
「数据排序与去重(sort、uniq、cut)」课时是免费的吗?
是的 — 「数据排序与去重(sort、uniq、cut)」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Linux Command Line & Bash Scripting Mastery 课程的其余内容,请升级到 CoddyKit PRO。 Linux Command Line & Bash Scripting Mastery 课程共包含 4 节课。
「数据排序与去重(sort、uniq、cut)」这节课中我会学到什么?
将原始文本转换为整洁、有序的数据。学习如何对行排序、使用 uniq 删除重复项、使用 cut 提取列,然后将它们串联成数据处理流水线。 你通过在浏览器中直接运行的动手代码来练习 Linux Command Line & Bash Scripting Mastery,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Linux Command Line & Bash Scripting Mastery 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Linux Command Line & Bash Scripting Mastery 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「数据排序与去重(sort、uniq、cut)」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Linux Command Line & Bash Scripting Mastery 课中编写并运行代码吗?
能。每节 Linux Command Line & Bash Scripting Mastery 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 高级文本处理(sed、awk)
- 归档与压缩(tar、gzip、unzip)
- 磁盘使用情况与系统信息(df、du、uname)
- 数据排序与去重(sort、uniq、cut)