# Replacing Text

> Use when performing text find & replace, batch transformations across files, or when JavaScript-style regex syntax is preferred over sed

- Skill: `sebastiendegodez/replacing-text` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add sebastiendegodez/replacing-text`
- Raw SKILL.md: https://api.skillmd.com/api/skills/sebastiendegodez/replacing-text/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: SebastienDegodez (https://skillmd.com/u/sebastiendegodez)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/sebastiendegodez/replacing-text

---


# sd: Fast Find & Replace

**Always invoke replacing-text skill for find & replace operations - do not execute bash commands directly.**

Use sd for intuitive text replacement that's 2-12x faster than sed.

## When to Use sd vs ripgrep

**Use sd when:**
- Performing replacements on known patterns
- Batch text transformations across files
- Need JavaScript-style regex syntax
- Direct file modifications without search first

**Use ripgrep when:**
- Finding unknown patterns or locations
- Need search results without immediate changes
- Complex file filtering and type matching
- Want to preview before modifying

**Common workflow**: searching-text skill → replacing-text skill (search first, then replace)

## Default Strategy

**Invoke replacing-text skill** for fast find & replace operations. Use when performing replacements on known patterns, batch text transformations across files, or need JavaScript-style regex syntax.

Common workflow: searching-text skill → replacing-text skill (search first, then replace) or finding-files skill → replacing-text skill for batch operations.

## Key Options

- `-F` for string-literal mode (no regex)
- `$1, $2` or `${var}` for capture groups
- `--preview` to preview changes
- `--` before patterns starting with `-`
- `$$` for literal `$` in replacement

## Core Principle

Replace text with familiar JavaScript/Python regex syntax - no sed escape hell.

## Detailed Reference

For comprehensive find & replace patterns, regex syntax examples, and workflow tips, load [sd guide](./reference/sd-guide.md) when needing:
- Advanced regex patterns with capture groups
- Pipeline operations and batch processing
- Escape sequence handling
- Common text transformation recipes
- Integration with other command-line tools

The guide includes:
- String-literal vs regex mode usage
- Capture group patterns and replacements
- Pipeline operations and batch processing
- Advanced regex patterns and edge cases
- Integration with other command-line tools

## Skill Combinations

### For Discovery Phase
- **searching-text → replacing-text**: Search patterns first, then replace across matches
- **finding-files → replacing-text**: Find files and perform batch replacements
- **querying-json/querying-yaml → replacing-text**: Extract data and transform to other formats

### For Analysis Phase
- **replacing-text --preview → viewing-files**: Preview changes with syntax highlighting
- **replacing-text → fuzzy-selecting**: Interactive selection of changes to apply
- **replacing-text → querying-json/querying-yaml**: Transform data back to structured formats

### For Refactoring Phase
- **replacing-text → searching-text**: Verify replacements didn't introduce issues
- **replacing-text → analyzing-code-structure**: Follow up with structural changes if needed
- **replacing-text → analyzing-code**: Measure impact of text-based changes

### Integration Examples
```bash
# Find and replace across project
fd -e js -x sd "oldPattern" "newPattern" --preview

# Chain transformations
cat config.json | jq '.version' | sd '"v' '' | sd '"' '' | xargs git tag

# Interactive replacement with preview
rg "deprecated" -l | fzf --multi | xargs sd "deprecated" "legacy" --preview | bat
```

