0Pricing
DevOps Bootcamp · 课时

数据排序与去重(sort、uniq、cut)

将原始文本转换为整洁、有序的数据。学习如何对行排序、使用 uniq 删除重复项、使用 cut 提取列,然后将它们串联成数据处理流水线。

数据排序与去重(sort、uniq、cut) 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 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 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。

「数据排序与去重(sort、uniq、cut)」这节课中我会学到什么?

将原始文本转换为整洁、有序的数据。学习如何对行排序、使用 uniq 删除重复项、使用 cut 提取列,然后将它们串联成数据处理流水线。 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 DevOps Bootcamp 需要有经验吗?

无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「数据排序与去重(sort、uniq、cut)」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 DevOps Bootcamp 课中编写并运行代码吗?

能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 高级文本处理(sed、awk)
  2. 归档与压缩(tar、gzip、unzip)
  3. 磁盘使用情况与系统信息(df、du、uname)
  4. 数据排序与去重(sort、uniq、cut)
← 返回 DevOps Bootcamp