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.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
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 |
|---|---|
sed 's/old/new/g' |
sd 'old' 'new' |
sed -i 's/old/new/g' |
sd 'old' 'new' file |
sed 's#path/to#new/path#g' |
sd 'path/to' 'new/path' |
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 rg -r first |
Avoid mistakes |
| Use git before bulk changes | Easy rollback |
Use \b for word boundaries |
Avoid partial matches |
| Quote patterns | Prevent shell interpretation |
Additional Resources
For detailed patterns, load:
-
./references/advanced-patterns.md- Regex, batch workflows, real-world examples
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-28
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!