grep / sed / awk 速查表
共 37 条grep / sed / awk 常用命令,覆盖查找、替换与编辑、按字段处理、组合与管道四组场景, 逐条给出命令与说明。支持搜索与分类筛选,点击命令即可复制。
grep 查找
按模式筛选行,常用选项可组合。
| 命令 | 说明 |
|---|---|
| 在文件中查找包含 pattern 的行 | |
| 忽略大小写 | |
| 反选,输出不含 kw 的行 | |
| 显示匹配行的行号 | |
| 只统计匹配行数 | |
| 递归搜索目录 | |
| 只列出包含匹配的文件名 | |
| 使用扩展正则(等价 egrep) | |
| 按整词匹配 | |
| 显示匹配行后 / 前各 2 行上下文 | |
| 排除指定目录递归搜索 |
sed 替换与编辑
常以 -i 直接改文件(建议先不加 -i 预览)。
| 命令 | 说明 |
|---|---|
| 把每行第一个 old 替换为 new | |
| 替换每行所有匹配(g) | |
| 直接修改文件(GNU 版本) | |
| 修改前先生成 .bak 备份 | |
| 仅打印第 2-5 行 | |
| 删除第 3 行 | |
| 在每行行首添加前缀 | |
| 删除所有以 # 开头的注释行 | |
| 扩展正则与分组反向引用 |
awk 按字段处理
默认以空白分列,$1 为第一列。
| 命令 | 说明 |
|---|---|
| 打印第一列 | |
| 打印第 1、3 列(逗号输出为空格) | |
| 用冒号作分隔符取第一列 | |
| 以逗号分隔(适合 CSV 简单场景) | |
| 打印第 2 行(NR 为行号) | |
| 打印字段数大于 3 的行(NF 为字段数) | |
| 按第三列数值条件过滤 | |
| 对第一列求和 | |
| 按第一列统计出现次数 | |
| 自定义输出分隔符 |
组合与管道
三剑客常互相配合解决实际问题。
| 命令 | 说明 |
|---|---|
| 统计匹配行数 | |
| 取列后排序并统计去重次数 | |
| 找出重复行 | |
| 合并两文件并去重 | |
| 统计访问次数最多的 IP | |
| 查看前 10 行并分页浏览 | |
| 按分隔符取指定列(与 awk 互补) |
使用说明
grep、sed、awk 是 Linux 文本处理最常用的三件套。本表按查找、替换与编辑、按字段处理、组合与管道四组整理常用命令,逐条给出命令与说明,点击即可复制。
- 在搜索框输入命令或用途(如 grep -r、替换、分隔符)快速定位。
- 点击分类标签按工具或场景筛选。
- 点击命令即可复制到剪贴板。
常见问题
- sed -i 会直接改文件吗?
- 会。建议先不加 -i 预览结果,确认无误再加 -i,或使用 -i.bak 保留备份。
- awk 默认怎么分列?
- 默认以空白字符分隔,$1 为第一列;可用 -F 指定分隔符。
- 数据需要联网吗?
- 不需要。全部为静态数据,页面在浏览器本地展示。