ref: 1e8eb61a3715b12d8bc1cfd866f5bb180f2941f2
dir: /rc/bin/g/
#!/bin/rc rfork e nl=' ' flags=() recurse=() while(! ~ $#* 1 && ~ $1 -* && ! ~ $1 --){ if(~ $1 '-n') recurse=-n1 if not flags=($flags $1); shift } if(~ $1 --) shift switch($#*){ case 0 echo 'usage: g [flags] pattern [files]' >[1=2] exit usage case 1 pattern=$1 files=`$nl{walk -f $recurse | grep '\.([bcChlmsy]|asm|awk|cc|cgi|cpp|cs|go|goc|java|lx|ms|pl|py|rc|tex|xy)$' >[2]/dev/null} case * pattern=$1 shift files=`$nl{walk -f $recurse -- $*} } grep -n $flags -- $pattern $files /dev/null