32 lines
517 B
Plaintext
32 lines
517 B
Plaintext
|
#!/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: wg [flags] pattern [files]' >[1=2]
|
||
|
exit usage
|
||
|
case 1
|
||
|
pattern=$1
|
||
|
fullnames='mkfile$'
|
||
|
suffixes='\.([bcChlmsy]|md|gmi)$'
|
||
|
files=`$nl{walk -f $recurse | grep -e $fullnames -e $suffixes >[2]/dev/null}
|
||
|
case *
|
||
|
pattern=$1
|
||
|
shift
|
||
|
files=`$nl{walk -f $recurse -- $*}
|
||
|
}
|
||
|
grep -ni $flags -- $pattern $files /dev/null
|