#!/bin/sh  
# \
exec oagtclsh "$0" "$@"

set auto_path [linsert $auto_path 0  /usr/local/oag/apps/lib/$env(HOST_ARCH)]
set auto_path [linsert $auto_path 0 /usr/local/oag/lib_patch/$env(HOST_ARCH)]
APSStandardSetup

set usage {usage: findTextInFiles -filter <string> -text <string> [-exclude <text>] [-namesOnly 1]}
set filter ""
set text ""
set exclude ""
set namesOnly 0
set args $argv
if {[APSStrictParseArguments {filter text namesOnly exclude}] \
    || ![string length $filter] || ![string length $text]} {
	return -code error "$usage"
}
set fd [open "|find . -name \"$filter\" -print" r]
while {![eof $fd]} {
    gets $fd s
    set filename [string trim $s]
    if [string length $exclude] {
        if [catch {exec fgrep -i "$text" $filename | fgrep -v "$exclude" } result] continue
    } else {
        if [catch {exec fgrep -i "$text" $filename} result] continue
    }
    if [string length $result] {
        puts stdout "$filename"
        if !$namesOnly {
            puts stdout "$result"
        }
    }
}
