From 033c2812c29b0e81e6c055b80e0334ba5ed1f871 Mon Sep 17 00:00:00 2001 From: Ori Bernstein Date: Tue, 4 Jun 2019 22:36:32 -0700 Subject: Make 'g' grep recursively by default. --- rc/bin/g | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) (limited to 'rc') diff --git a/rc/bin/g b/rc/bin/g index 69656dfcc..10468b3d2 100755 --- a/rc/bin/g +++ b/rc/bin/g @@ -1,23 +1,29 @@ #!/bin/rc rfork e -flags=() -while(! ~ $#* 1 && ~ $1 -* && ! ~ $1 --){ - flags=($flags $1); - shift +nl=' +' +flags=() +recurse=() +while(! ~ $#* 1 && ~ $1 -* && ! ~ $1 --){ + if(~ $1 '-n') + recurse=-n1 + if not + flags=($flags $1); + shift } if(~ $1 --) - shift + shift switch($#*){ case 0 - echo 'usage: g [flags] pattern [files]' >[1=2] - exit usage + echo 'usage: g [flags] pattern [files]' >[1=2] + exit usage case 1 - pattern=$1 - files=(`{ls *.[bcChlmsy] *.asm *.awk *.cc *.cgi *.cpp *.cs *.go *.goc *.java *.lx *.ms *.pl *.py *.rc *.tex *.xy >[2]/dev/null}) + 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=($*) + pattern=$1 + shift + files=($*) } -grep -n $flags -- $pattern $files /dev/null +grep -n $flags -- $pattern $files /dev/null \ No newline at end of file -- cgit v1.2.3