#!/bin/sh

# Par Julien MOREAU	( jmoreau@bigfoot.com )

nbpsmin=1			# Nombre minimum de paramètres souhaités
nbpsmax=2			# Nombre maximum de paramètres souhaités
nom_cmde=`basename $0`		# Nom de la command
usage="Usage: $nom_cmde <nb_lignes_estimees> [<fichier|repertoire>]"
usage=$usage"\n\tVerifie le Nombre de Lignes d'un fichier"
usage=$usage"\n\tou	le nombre de fichiers d'un répertoire."

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

if test "$1" = '-h' -o "$1" = '-?' ; then	# Besoin d'aide ?
	echo $e $usage 1>&2 ; exit 2
fi

if [ $# -lt $nbpsmin -o $# -gt $nbpsmax ] ; then # Vérifie le nb de param
	echo $e $usage 1>&2 ; exit 2		# Affichage aide puis arrêt.
fi

nble="$1"
if [ $# -lt $nbpsmax ] ; then
	fic=~/$nom_cmde.$nble ; rnbl=0 ; cmde=cat
	while read ligne ; do echo $ligne >> $fic ; rnbl=`expr $rnbl + 1` ; done
else
	fic="$2"
	if test -d $fic ; then
		cmde='ls -lAp' ; cmde_cmpt='ls -A1'
	elif test -f $fic ; then
		cmde='more' ; cmde_cmpt='cat'
	elif [ "$nble" -ne 0 ] ; then
		echo $e "$nom_cmde: `basename $fic`\c" 1>&2
		echo " n'est ni un fichier ni un répertoire !" 1>&2
		echo "$nom_cmde: Etes-vous sûr que ce fichier existe ?" 1>&2
		echo "$nom_cmde: Vérifiez son nom : $fic" 1>&2
		exit 1
	fi

	rnbl=`$cmde_cmpt $fic|wc -l`
fi

ret=0
if [ "$nble" -ne "$rnbl" ] ; then
	ret=1
	echo "`basename $fic` contient $rnbl lignes et non pas $nble !"
	ouinon Visualisation
	if [ $? -eq 0 ] ; then $cmde $fic ; fi
fi
if [ $# -lt $nbpsmax ] ; then rm $fic ; fi

exit $ret

