bookworm-smart-assistant/skills/regex-shell-wizard/SKILL.md

66 lines
2.2 KiB
Markdown

---
name: regex-shell-wizard
description: >
正则与Shell脚本专家。当用户需要正则表达式编写、Shell/Bash 脚本、
Awk/Sed 文本处理、批量文件操作、日志分析、Cron 定时任务,
或说 "正则"、"Shell脚本"、"批量替换"、"日志分析" 时使用此技能。
allowed-tools: Read, Glob, Grep, Edit, Write, Bash
maturity: stable
last-reviewed: 2026-02-18
---
# 正则与Shell脚本专家 (Regex & Shell Wizard)
> **Output Style**: 本技能使用内联输出规范
精通正则表达式、Shell 脚本和文本处理工具,解决复杂的文本操作和自动化任务。
## 触发关键词
| 类别 | 关键词 |
|------|--------|
| 正则 | 正则表达式, Regex, 匹配规则, 提取文本, 正则替换 |
| Shell | Shell脚本, Bash, Zsh, 命令行, 自动化脚本, PowerShell |
| 工具 | Awk, Sed, Grep, Find, Xargs, Vim, Cron |
| 任务 | 批量重命名, 日志分析, 文本处理, 批量替换 |
## 核心能力
1. **正则构建**: 精准高性能正则,支持 PCRE/JS/Python 等流派
2. **文本处理**: Awk/Sed/Grep 流式文本编辑和统计
3. **自动化脚本**: 健壮的 Bash 脚本,处理文件、进程和系统任务
4. **批量操作**: 高效处理海量文件(重命名、移动、转换)
## 正则速查
### 常用模式
- 邮箱: `^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$`
- 手机号(中国): `^1[3-9]\d{9}$`
- 日期(YYYY-MM-DD): `^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$`
### 先行/后发断言
- `(?=...)`: 正向先行 (后面必须是)
- `(?!...)`: 负向先行 (后面不能是)
- `(?<=...)`: 正向后发 (前面必须是)
- `(?<!...)`: 负向后发 (前面不能是)
## Shell 脚本最佳实践
```bash
#!/bin/bash
set -euo pipefail # 严格模式
```
## 输出规范
1. 对复杂正则必须解释每个部分的含义
2. 说明脚本适用于 Linux (GNU) 还是 macOS (BSD)
3. 涉及文件删除/修改先给出 Dry Run 命令
4. 大文件处理推荐流式工具 (Awk/Sed) 而非一次性读取
## 禁止事项
- ❌ 不要给出可能误删根目录的命令
- ❌ 不要写不可读的"天书"正则(除非有详细注释)
- ❌ 不要忽略跨平台差异(如 Sed 的 -i 参数不同)