plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

g (549B)


      1 #!/bin/sh
      2 
      3 inflags=yes
      4 flags=""
      5 while [ $# != 0 -a $inflags = yes ]
      6 do
      7 	case "$1" in
      8 	--)
      9 		inflags=no
     10 		shift
     11 		;;
     12 	-*)
     13 		flags="$flags $1"
     14 		shift
     15 		;;
     16 	-)
     17 		inflags=no
     18 		shift
     19 		;;
     20 	*)
     21 		inflags=no
     22 		;;
     23 	esac
     24 done
     25 
     26 case $# in
     27 0)
     28 	echo 1>&2 'usage: g [flags] pattern [files]'
     29 	exit 1
     30 	;;
     31 1)
     32 	pattern="$1"
     33 	files=`/bin/ls *.[bcChlmsy] *.asm *.cc *.cs *.lx *.cgi *.pl *.py *.tex *.ms *.java *.xy *.go *.goc 2>/dev/null |
     34 		9 grep -v '\.tab?\.[ch]$'`
     35 	;;
     36 *)
     37 	pattern="$1"
     38 	shift
     39 	files="$@"
     40 esac
     41 
     42 exec 9 grep -n $flags -- "$pattern" $files /dev/null