| name | file-read |
| description | Read files efficiently to minimize token usage — use targeted reads instead of dumping entire files |
file-read
Read files efficiently — fetch only what you need. Never cat a large file when a subset suffices.
Decision Guide
| Situation | Command |
|---|
| Know what you're looking for | grep -n "symbol" file |
| Need first N lines | head -n 50 file |
| Need last N lines | tail -n 30 file |
| Need lines M–N | sed -n 'M,Np' file |
| Unknown file, check size first | wc -l file && head -n 30 file |
| File < 100 lines | cat file |
Patterns
wc -l file.txt
grep -n "pattern" file.txt
grep -n -A 5 -B 2 "pattern" file.txt
grep "^import\|^from" file.py
grep -v "^#\|^$" file.txt
head -n 50 file.txt
tail -n 30 file.txt
sed -n '10,30p' file.txt
sed -n '/^## Section/,/^## /p' file.txt
grep -n "^def my_func" file.py
sed -n '42,60p' file.py
{ sed -n '1,10p' f.txt; echo "---"; sed -n '80,90p' f.txt; }
wc -l file.txt && head -n 5 file.txt && echo "..." && tail -n 5 file.txt
Rules
- Check
wc -l before reading unknown files
- Use
grep first when you know what you're looking for
- Read in chunks (30–50 lines); fetch more only if needed
- Avoid
cat on files > 200 lines unless full content is required