> I found your post a bit confusing then. The little bit of script you
> posted won't do the job, and the problem is not related to find at
> all,
> 
> Anyway, while working with some hugely messy non-plan 9-software, I
> found I really needed grep -r.
> 
> See /n/sources/contrib/rminnich/grep

why not just use a russ' g from p9p?

- erik

here's a variant:
#!/bin/rc

rfork e
filepat='\.h$'
exec g $*

of my version:
#!/bin/rc

rfork e
flags=-n
re=()
files=/dev/null
f=1
if(~ $#filepat 0)
        filepat = '\.[Cbchlmsy]$'

fn collect{
        find $* | grep $filepat
}

fn collect1{
        ls | grep $filepat
}

for(i){
        if(~ $f 1 && ~ $i -*)
                flags = ($flags $i)
        if not if (~ $#re 0){
                f = 0
                re = $i
        }
        if not{
                if(test -d $i)
                        files = ($files `{collect $i})
                if not
                        files = ($files $i)
        }
}
if(~ $#re 0){
        echo usage: g '[flags]' pattern ... >[1=2]
        exit usage
}
modre>[2=]
switch($#files){
case 1
        grep $flags $re `{collect1} $files
case *
        grep $flags $re $files
}

Reply via email to