| name | file-edit |
| description | Edit files using efficient Unix command-line tools instead of rewriting entire files |
file-edit
Edit files using sed/awk/grep instead of rewriting entire contents. Use for targeted line changes, search-and-replace, or insertions.
macOS: BSD sed requires sed -i ''; Linux GNU sed uses sed -i.
Common Patterns
sed -i 's/old/new/g' file.txt
sed -i '/pattern/s/old/new/g' file.txt
sed -i '/pattern/d' file.txt
sed -i '5d' file.txt
sed -i '10,20d' file.txt
sed -i '/pattern/a\new line' file.txt
sed -i '/pattern/i\new line' file.txt
sed -i '1i\new first line' file.txt
echo 'content' >> file.txt
sed -n '5,10p' file.txt
awk -F',' '{print $2}' file.txt
grep '^def ' main.py | sed 's/def //;s/(.*//'
diff -u original.txt modified.txt > changes.patch
patch original.txt < changes.patch
Best Practices
- Backup first:
cp file.txt file.txt.bak
- Use git to track changes
- Escape special characters in sed patterns (
/, &, \)
- Use
file-read skill to locate target lines before editing