PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suchen nach Dateien



28-10-2000, 00: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

28-10-2000, 19:36
Lösung ist Eintrag von grep -l bei 1. Möglichkeit. Es bleiben aber die vielen Leerzeilen bei der Ausgabe. Wie kriege ich die weg?
gruss
andreas

29-10-2000, 00:09
Kaum gepostet, selber Lösung gefunden, Umleitung in eine Datei. Hat sich erledigt.
gruss
ag

pitu
06-11-2000, 15:13
Ich weiss nicht, ob es ueberhaupt ein Script wert ist. Allein mit find geht das doch:

find ./ -exec grep optionen suchmuster {} \;

oder habe ich da etwas Missverstanden?

thorsten

------------------
Thorsten Wandersmann
SuSE GmbH, Nuernberg

06-11-2000, 21:43
da dieses nur ein Teil eines Scriptes ist, lohnt der
Aufwand schon.
gruss
ag

pitu
07-11-2000, 09:09
Ahh, verstehe.

thorsten

------------------
Thorsten Wandersmann
SuSE GmbH, Nuernberg