Marketplace find-replace
Modern find-and-replace using sd (simpler than sed) and batch replacement patterns. Triggers on: sd, find replace, batch replace, sed replacement, string replacement, rename.
install
source · Clone the upstream repo
git clone https://github.com/aiskillstore/marketplace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/0xdarkmatter/find-replace" ~/.claude/skills/aiskillstore-marketplace-find-replace && rm -rf "$T"
manifest:
skills/0xdarkmatter/find-replace/SKILL.mdsource content
Find Replace
Modern find-and-replace using sd.
sd Basics
# Replace in file (in-place) sd 'oldText' 'newText' file.txt # Replace in multiple files sd 'oldText' 'newText' *.js # Preview without changing (pipe) cat file.txt | sd 'old' 'new'
sd vs sed
| sed | sd |
|---|---|
| |
| |
| |
Key difference: sd is global by default, no delimiter issues.
Common Patterns
# Variable/function rename sd 'oldName' 'newName' src/**/*.ts # Word boundaries (avoid partial matches) sd '\boldName\b' 'newName' src/**/*.ts # Import path update sd "from '../utils'" "from '@/utils'" src/**/*.ts # Capture groups sd 'console\.log\((.*)\)' 'logger.info($1)' src/**/*.js
Safe Batch Workflow
# 1. List affected files rg -l 'oldPattern' src/ # 2. Preview replacements rg 'oldPattern' -r 'newPattern' src/ # 3. Apply sd 'oldPattern' 'newPattern' $(rg -l 'oldPattern' src/) # 4. Verify rg 'oldPattern' src/ # Should return nothing git diff # Review changes
Special Characters
| Character | Escape |
|---|---|
| |
| |
| |
| |
| |
Tips
| Tip | Reason |
|---|---|
Always preview with first | Avoid mistakes |
| Use git before bulk changes | Easy rollback |
Use for word boundaries | Avoid partial matches |
| Quote patterns | Prevent shell interpretation |
Additional Resources
For detailed patterns, load:
- Regex, batch workflows, real-world examples./references/advanced-patterns.md