grep in 60s: the 4 flags that matter
`grep -n` shows line numbers, `-i` ignores case, `-r` walks a tree, and `-E` gives you extended regex. That covers most day-one grep use.
grep in 60s: the 4 flags that matter
HOOK - 0-3s
You do not need twenty grep options. You need four.
PROBLEM - 3-10s
Without flags, grep gives you a raw match and leaves the rest of the job to your eyes. Logs and trees get large long before that stays useful.
SOLUTION - 10-40s
base=/var/folders/0r/gx6m118s7jd2w3r9_4y32dhw0000gn/T/opencode/grep-demo
rm -rf "$base" && mkdir -p "$base/tree/api" "$base/tree/web"
printf 'ERROR Disk full\nwarn cache warm\nerror network down\n' > "$base/app.log"
printf 'user:42\n' > "$base/tree/api/request.log"
printf 'USER:99\n' > "$base/tree/web/request.log"
grep -n 'error' "$base/app.log" # line numbers
grep -in 'error' "$base/app.log" # ignore case + line numbers
grep -r 'user' "$base/tree" # recurse through directories
grep -Er 'user:[0-9]+' "$base/tree" # recurse + extended regex
[grep -n]
3:error network down
[grep -in]
1:ERROR Disk full
3:error network down
[grep -r]
/var/folders/0r/gx6m118s7jd2w3r9_4y32dhw0000gn/T/opencode/grep-demo/tree/api/request.log:user:42
[grep -Er]
/var/folders/0r/gx6m118s7jd2w3r9_4y32dhw0000gn/T/opencode/grep-demo/tree/api/request.log:user:42
PAYOFF - 40-50s
-n tells you where. -i relaxes case. -r finds the file. -E lets the pattern do actual work. That is most grep usage in four switches.
CTA - 50-55s
Memorize the four flags, not the whole man page.
exit 0 #grep#bash#linux#logs
❯ exit 0