plan9fox/rc/bin/g

30 lines
497 B
Plaintext
Raw Normal View History

2011-11-21 16:39:34 +00:00
#!/bin/rc
rfork e
2019-06-05 05:36:32 +00:00
nl='
'
flags=()
recurse=()
while(! ~ $#* 1 && ~ $1 -* && ! ~ $1 --){
if(~ $1 '-n')
recurse=-n1
if not
flags=($flags $1);
shift
2011-11-21 16:39:34 +00:00
}
if(~ $1 --)
2019-06-05 05:36:32 +00:00
shift
2011-11-21 16:39:34 +00:00
switch($#*){
case 0
2019-06-05 05:36:32 +00:00
echo 'usage: g [flags] pattern [files]' >[1=2]
exit usage
2011-11-21 16:39:34 +00:00
case 1
2019-06-05 05:36:32 +00:00
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}
2011-11-21 16:39:34 +00:00
case *
2019-06-05 05:36:32 +00:00
pattern=$1
shift
files=($*)
2011-11-21 16:39:34 +00:00
}
2019-06-05 05:42:10 +00:00
grep -n $flags -- $pattern $files /dev/null