wiki/运维/Linux/笔记/11.文本分析.md
2026-04-09 01:28:15 +08:00

2.4 KiB
Raw Permalink Blame History

文本分析

Linux 日志分析与数据整理的常用命令。


1. 命令概览

命令 用途
wc 统计行数、单词数、字节数
sort 文本排序
uniq 去重、统计重复次数
cut 按列提取

这些命令常通过管道组合使用,是文本处理的基础工具。


2. wc - 文本统计

常用选项

选项 说明
-l 统计行数
-w 统计单词数
-c 统计字节数

示例

# 统计文件行数
wc -l access.log

3. sort - 文本排序

默认输出到标准输出,不会修改原文件。

常用选项

选项 说明
-n 按数值排序
-h 按人类可读格式排序1K、2M
-u 排序后去重
-k 按第几列排序
-t 指定分隔符
-r 逆序排序
-R 随机排序

示例

sort -n scores.txt          # 按数值排序
sort -h disk_usage.txt    # 按人类可读格式排序

4. uniq - 去重与统计

只能去除相邻重复行,需先配合 sort 使用。

常用选项

选项 说明
-c 统计每行重复次数
-d 只显示重复行
-u 只显示不重复行

示例

# 统计高频内容
sort access.log | uniq -c | sort -nr | head

5. cut - 按列提取

常用选项

选项 说明
-d 指定分隔符
-f 按字段提取
-c 按字符位置提取

示例

# 提取第一列和第三列(以冒号分隔)
cut -d: -f1,3 /etc/passwd

6. 实战组合

统计访问次数最多的来源

cut -d" " -f1 access_log | sort | uniq -c | sort -nr | head -3

执行流程:

  1. cut → 提取第一列
  2. sort → 排序(让相同内容相邻)
  3. uniq -c → 统计重复次数
  4. sort -nr → 按数字逆序
  5. head -3 → 取前 3 条

统计文件行数

wc -l file.txt

获取唯一用户列表

cut -d: -f1 /etc/passwd | sort -u

7. 小结

场景 推荐命令
统计数量 wc
排序 sort
去重/统计重复 sort | uniq
按列提取 cut
多步分析 管道组合

掌握这些命令,可高效处理各类日志与文本数据。