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