#!/usr/bin/ksh93
################################################################
#### Program: fgrep_k93
####
#### Description: Emulation of the Unix "fgrep" command
####
#### Author: Dana French (dfrench@mtxia.com)
#### Copyright 2004
####
#### Date: 07/22/2004
####
################################################################
function fgrep_k93
{
typeset TRUE="0"
typeset FALSE="1"
typeset FNAME=""
typeset LINE
typeset FLAB=""
typeset SRCH="${1}"
shift
typeset STDIN="${1:+${FALSE}}"
STDIN="${STDIN:-${TRUE}}"
if (( STDIN == TRUE ))
then
printMatchLine_k93 SRCH FLAB
else
for FNAME in "${@}"
do
(( ${#} > 1 )) && FLAB="${FNAME}:"
exec 0<"${FNAME}"
printMatchLine_k93 SRCH FLAB
exec 0<&-
done
fi
return 0
}
################################################################
function printMatchLine_k93 {
nameref SRCH="${1}"
nameref FLAB="${2}"
typeset LINE
IFS=""
while IFS="" read -r -- LINE
do
[[ "_${LINE}" = _*+(${SRCH})* ]] && print -r -- "${FLAB}${LINE}"
done
return 0
}
################################################################
fgrep_k93 "${@}"