About find-replace
find-replace is a command-line skill for using sd to find and replace text in files. It is intended for code and text edits, with guidance on previewing batch changes and avoiding partial matches.
Key features
- 01Global text replacement with sd
- 02Replacement across multiple files
- 03Preview and safe batch workflow
- 04Regex word-boundary patterns
- 05Escaping special characters
Use cases
- 01Rename variables or functions across source files
- 02Update import paths in a project
- 03Preview a replacement before applying it
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ 0xdarkmatter/ claude-mods --skill find-replaceAfter installing, type/find-replacein Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
assets/.gitkeepreferences/advanced-patterns.mdscripts/.gitkeepDetails
From the project READMEFind 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
Comments
Markdown supported