file-search
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseFile Search Skill
文件搜索技能
Efficient CLI search tools for AI agents.
为AI Agent打造的高效CLI搜索工具。
Tool Selection Guide
工具选择指南
| Task | Use | Instead of |
|---|---|---|
| Search text in code files | | |
| Find files by name/path | | |
| Structural/syntax-aware code search | | regex hacks |
| Search PDFs, Office docs, archives | | manual extraction |
| Count lines of code by language | | |
| Code stats with complexity metrics | | |
Decision flow: text/regex → | code structure (empty catches,
function sigs, multi-line patterns) → | files by name → |
PDFs/archives → | codebase stats → /
rgsgfdrgatokeiscc| 任务 | 使用工具 | 可替代原有工具 |
|---|---|---|
| 在代码文件中搜索文本 | | |
| 按名称/路径查找文件 | | |
| 支持结构/语法感知的代码搜索 | | 正则表达式hack |
| 搜索PDF、Office文档、归档文件 | | 手动提取内容 |
| 按语言统计代码行数 | | |
| 包含复杂度指标的代码统计 | | |
决策流程: 文本/正则搜索 → | 代码结构搜索(空捕获、函数签名、多行模式)→ | 按名称查找文件 → | PDF/归档文件搜索 → | 代码库统计 → /
rgsgfdrgatokeisccQuick Examples
快速示例
bash
rg 'def \w+\(' -t py src/ # rg: text search in Python files
rg -c 'TODO' -t js | wc -l # rg: count first, then drill down
sg --pattern 'console.log($$$)' --rewrite 'logger.info($$$)' --lang js # sg: structural replace
fd -g '*.test.ts' --changed-within 1d # fd: -g for compound suffixes (NOT -e)
fd -g '*_test.go' -X rg 'func Test' # fd+rg: find files, verify contents
rga 'quarterly revenue' docs/ # rga: search inside PDFs/archives
tokei --sort code # tokei: language stats
scc --wide # scc: complexity + COCOMObash
rg 'def \w+\(' -t py src/ # rg: text search in Python files
rg -c 'TODO' -t js | wc -l # rg: count first, then drill down
sg --pattern 'console.log($$$)' --rewrite 'logger.info($$$)' --lang js # sg: structural replace
fd -g '*.test.ts' --changed-within 1d # fd: -g for compound suffixes (NOT -e)
fd -g '*_test.go' -X rg 'func Test' # fd+rg: find files, verify contents
rga 'quarterly revenue' docs/ # rga: search inside PDFs/archives
tokei --sort code # tokei: language stats
scc --wide # scc: complexity + COCOMOBest Practices
最佳实践
- Start narrow. Specify types (,
-t,--lang), scope dirs, count first (-e).rg -c - Exclude noise (,
-g '!vendor/').fd -E node_modules - for programmatic processing.
--json - rg ≠ fd types. includes
rg -t ts;.tsxdoes NOT. Nofd -e tsin rg.-t tsx
See references/search-strategies.md.
- 从窄范围开始。 指定类型(、
-t、--lang)、限定目录范围、先统计数量(-e)。rg -c - 排除干扰内容(、
-g '!vendor/')。fd -E node_modules - 开启参数用于程序化处理。
--json - rg和fd的类型规则不同。 会包含
rg -t ts文件;.tsx不会。rg中没有fd -e ts参数。-t tsx
参见 references/search-strategies.md。
Beyond Local Files
超出本地文件范围
If local search finds nothing and context lives in issues/PRs/external
docs — hand off (, Jira, WebFetch). Issue keys in comments signal this.
ghSee references/remote-handoff.md.
如果本地搜索没有结果,且上下文存放在issues/PRs/外部文档中 —— 移交处理(、Jira、WebFetch)。评论中的Issue编号可识别此类场景。
gh参见 references/remote-handoff.md。
References
参考资料
| Topic | File |
|---|---|
| rg flags, patterns, recipes | references/ripgrep-patterns.md |
| ast-grep patterns by language | references/ast-grep-patterns.md |
| fd flags, usage, fd+rg combos | references/fd-guide.md |
| rga formats, usage, caching | references/rga-guide.md |
| tokei and scc usage | references/code-metrics.md |
| Search targeting strategies | references/search-strategies.md |
| Tool comparison and decision guide | references/tool-comparison.md |
| Remote context handoff guide | references/remote-handoff.md |
| 主题 | 文件路径 |
|---|---|
| rg参数、模式、使用示例 | references/ripgrep-patterns.md |
| 按语言划分的ast-grep匹配模式 | references/ast-grep-patterns.md |
| fd参数、用法、fd+rg组合使用技巧 | references/fd-guide.md |
| rga支持格式、用法、缓存配置 | references/rga-guide.md |
| tokei与scc用法 | references/code-metrics.md |
| 搜索目标策略 | references/search-strategies.md |
| 工具对比与决策指南 | references/tool-comparison.md |
| 远程上下文移交指南 | references/remote-handoff.md |