目录文本搜索
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_1060c188/dir-text-search。
技能介绍
要解决什么问题
排查线上问题或审计代码时,你往往要在一整棵目录里找某段字符串或正则:日志里的 error、配置里的账号名、压缩包备份里的关键字。手写 grep -r 能扫明文文件,但遇到 .zip、.rar 嵌套包、GBK 编码的 Windows 日志,或上百 MB 的巨型文件时,流程很容易断在「解压、编码、路径安全」这些细节上。
技能如何工作
本技能通过核心脚本 scripts/search_tool.py 在指定 --path 下递归只读扫描,用 --pattern 做默认正则匹配(不确定时可加 --no-regex 当纯字符串)。
- 文件类型:常见文本与源码(如
.log、.cfg、.md、.json、.py等)。 - 压缩包:支持
.zip、.rar、.tar、.tar.gz、.tar.bz2、.7z,可嵌套解压后继续搜索。 - 编码:依次尝试 UTF-8、GBK、latin-1。
- 大文件:超过 100 MB 会跳过并给出警告。
- 结果:写入
search_results/下带时间戳的文件,不覆盖历史记录;执行后应告知路径并汇总各文件命中行数,必要时摘要关键行。
典型触发表述包括:「在 X 目录下查找 Y」「搜索所有日志中包含 error 的行」「在压缩包里找 Account_Main」等。
适用边界与注意点
解压使用系统临时目录,结束后清理;对 ZIP/TAR 等做防路径遍历(拒绝含 .. 的路径)。不修改任何原始文件。RAR/7z 等依赖可选库与系统 unrar;未安装时脚本会提示,ZIP/TAR 仍可用。
使用场景
- 运维在服务器日志目录里按日期正则筛出异常栈,需要同时扫 `.log` 和打包归档
- 安全审计要在客户交付的 `.zip` 嵌套包里查找硬编码账号或密钥字符串
- 开发在本地 monorepo 指定子树下搜索配置项名,并排除对超大二进制误读
- 支持工程师收到 Windows 环境导出的 GBK 编码 `.cfg` 与 `.ini`,要在整目录定位特定错误码
适合人员
- 负责线上故障复盘、需在多层日志与历史压缩备份里逐条核对 error 的 SRE
- 做交付物合规检查、要在只读前提下批量检索源码与配置包内敏感字段的安全工程师
- 维护遗留系统、经常在混合编码的配置目录里用正则定位开关项的后端开发
- 处理客户现场导出数据包、要在不解压到永久目录的前提下快速 grep 关键行的技术支持