linux-l: Über ganze Verzeichnisse grepen
Albert Haegele
albert.haegele at gmx.net
Mi Okt 21 15:55:49 CEST 1998
aleks at zedat.fu-berlin.de wrote:
> Ich sehe mal wieder den Wald vor lauter Bäumen nicht, wie kann ich über
> mehr als ein Verzeichnis grepen?
>
> grep suchmuster *
>
> sucht ja nur im eigenen Verzeichnis. Meine bisherigen Konstruktionenmit
> */*/* nerven, weil ich vorher immer die maximale Verzeichnistiefe
> wissen muß.
> Ich finde auch kein Parameter zum rekursiv grepen, oder ist das ein
> Shell-Problem?
> Mit find -name datei * wird rekursiv ausgehend vom Standort alles
> gefilzt.
>
Folgendes Skript sucht rekursiv in Unterverzeichnissen:
#!/bin/sh
NPATH=""
ANF=""
if test "$#" -lt "3"
then
echo "Aufruf grepall Suchbeginn \"Dateiselektion\" Suchwort"
echo "Beispiel grepall /usr '*.c' <stdio.h>"
else
ANF=$1
for i in `ls $ANF`
do
NPATH="dev"
if test $i != $NPATH
then
# echo "*****SUCHE IN " $ANF"/"$i "******"
NPATH=$ANF"/"$i
find $NPATH -follow -name "$2" -exec grep "$3" {}
2>/dev/null \; -exec echo {} \; -exec echo ' gefunden\n' \;
fi
done
fi
--
Albert Haegele
mailto:albert.haegele at gmx.net
I fell asleep reading a dull book, and I dreamt that I was reading on,
so I woke up from sheer boredom.
Mehr Informationen über die Mailingliste linux-l