lib/grep.sh

390 B · 21 lines · bash

1#!/usr/bin/env bash
2
3brt_grep() {
4 local pattern="${1:-}"
5 shift || true
6
7 if [[ -z "$pattern" ]]; then
8 brt_error "Usage: brt -grep <pattern> [file|dir...]"
9 exit 1
10 fi
11
12 local targets=("$@")
13 [[ ${#targets[@]} -eq 0 ]] && targets=(".")
14
15 brt_require grep
16 grep -rn --color=auto -E "$pattern" "${targets[@]}" 2>/dev/null || {
17 brt_warn "No matches found"
18 exit 1
19 }
20}
21