#!/bin/sh

# Par Julien MOREAU	( jmoreau@bigfoot.com )

# Equivaut à : 'grep -li ... 2> /dev/null'

nbps=1				# Nombre de parametres souhaites (sans option)
nom_cmde=`basename $0`		# Nom de la commande
usage="Usage: [-v] $nom_cmde <chaine> [<filename ...>]"	# Message d'aide
usage=$usage"\n\tDonne la liste des fichiers du répertoire courant où"
usage=$usage"\n\t apparait le mot en premier paramètre."
usage=$usage"\n\tL'option -v (verbose mode) fait afficher toutes les erreurs."

if test `uname` != "HP-UX" ; then e="-e" ; fi

if [ $# -lt $nbps ] ; then	# Si le nombre de paramètres est incorrecte,
	echo $e $usage 1>&2 ; exit 2	# Affichage aide puis arrêt.
fi

if test "$1" = '-v' ; then opt=$1 ; shift ; fi

chn=$1 ; shift

if [ $# -eq 0 ] ; then
	nbfic=0
	while read ligne ; do
		fichiers="$fichiers $ligne"
		nbfic=`expr $nbfic + 1`
	done
	if [ $nbfic -eq 0 ] ; then
		echo $e $usage 1>&2 ; exit 2	# Affichage aide puis arrêt.
	fi
	set $fichiers
fi

ret=1				# Valeur de retour
for fic in $* ; do
	if test -r "$fic" ; then	# Si le fichier est lisible
		if test ! -d "$fic" ; then # Si ce n'est pas un répertoire
			grep -qi "$chn" "$fic"
			if [ $? -eq 0 ] ; then echo $fic ; ret=0 ; fi
		elif test -n "$opt" ; then
			echo "Le fichier \"$fic\" est un répertoire !" 1>&2
		fi
	elif test -n "$opt" ; then
		echo "Le fichier \"$fic\" n'est pas lisible !" 1>&2
	fi
done

exit $ret