per favore una mano...
non riesco a trovare l' errore...
![]()
![]()
![]()
![]()
il programmino deve cercare nella gerarchia specificata tutti i direttori in cui sia presente almeno un file che contiene (NB nel contenuto) almeno uno dei caratteri passati come argomento.
dunque il file principale è questo:
#! /bin/sh
#compito dir_ass c1 c2 cn
case $# in
0|1) echo formato non valido; exit;;
*);;
esac
#controolo se è un direttorio assoluto
case $1 in
/*) if test ! -d $1
then echo non è un direttorio
exit
fi;;
*) echo non è assoluto
exit;;
esac
DIRASS=$1
shift # elimino il primo argomento
#controllo se sono caratteri
for i in $*
do
case $i in
?);;
*)echo argomento sbagliato
exit;;
esac
done
export PATH=`pwd`:PATH
#chiamo il file ricorsivo
cerca03 $DIRASS $*
#fine primo file
secondo file:
#inizio file cerca03
cd $1
trovato=false
shift
for i in *
do
if test -f $i -a -r $i
then
for j in $*
do
if grep $j $i
then trovato=true
break
fi
done
fi
if test -d $i
then cerca03 $i $*
fi
done
if test $trovato = true
then echo `pwd`
fi
#fine file
il problema sta nel secondo file infatti quando va per eseguire grep mi da errore
![]()
![]()
non capisco quale sia il problema se c'è qualcuno che mi può dire dove sbaglio gliene sarò eternamente riconoscente...grazie