28-10-2000, 01:32
Hallo,
habe folgendes Problem:
Ich will in einem Verzeichnis nach einer Datei suchen, die ein bestimmtes Suchmuster enthält. Der Aufruf des Scriptes soll folgendermaßen aussehen:
name <verzeichnis> <suchmuster>
Ausgegeben werden soll der Dateiname.
Meine Ansätze:
------------
cd $1
tfile=/tmp/count
ls >$tfile
nr=0
anz=`wc -l $tfile | cut -c-7`
while [ $nr -lt $anz ] ; do
nr=`expr $nr + 1 ]`
-------------------------
hier fängt mein Problem an!
-------------------------
dat=`head -$nr $tfile | tail -1`
erg=`grep $2 $dat 2>/dev/null`
echo $erg
done
-------------------------
liefert mir nur die Zeilen, wo das Suchmuster
vorkommt, aber nicht den Dateiname und unendlich viele Leerzeilen.
Anderer Versuch:
-----------------------------
dat=`head -$nr $tfile |tail -1 | grep $2 2>/dev/null
echo $dat
------------------------------
liefert überhaupt keine Ausgabe. Wo liegt der Fehler?
gruss
andreas
habe folgendes Problem:
Ich will in einem Verzeichnis nach einer Datei suchen, die ein bestimmtes Suchmuster enthält. Der Aufruf des Scriptes soll folgendermaßen aussehen:
name <verzeichnis> <suchmuster>
Ausgegeben werden soll der Dateiname.
Meine Ansätze:
------------
cd $1
tfile=/tmp/count
ls >$tfile
nr=0
anz=`wc -l $tfile | cut -c-7`
while [ $nr -lt $anz ] ; do
nr=`expr $nr + 1 ]`
-------------------------
hier fängt mein Problem an!
-------------------------
dat=`head -$nr $tfile | tail -1`
erg=`grep $2 $dat 2>/dev/null`
echo $erg
done
-------------------------
liefert mir nur die Zeilen, wo das Suchmuster
vorkommt, aber nicht den Dateiname und unendlich viele Leerzeilen.
Anderer Versuch:
-----------------------------
dat=`head -$nr $tfile |tail -1 | grep $2 2>/dev/null
echo $dat
------------------------------
liefert überhaupt keine Ausgabe. Wo liegt der Fehler?
gruss
andreas