Mit folgendem Script findet man Dateien, die einen bestimmten Text enthalten:
find $1 -exec grep -s -l $2 {} \;
Beim Aufruf des Scriptes aus einem Terminal heraus, müssen 2 Parameter mit übergeben werden:
- $1 = Name des Verzeichnisses in dem gesucht werden soll
- $2 = Der zu suchende Text
Beispiel:
wiki-info@linux:~>./suchscript /home/wikiinfo/ linuxwiki.org
Alternative:
grep -R -s -l suchtext verzeichnis
-s und -l natürlich nur bei Bedarf
Alternative: der MidnightCommander hat auch eine komfortable Volltextsuche, inkl. Anschauen/Editieren direkt aus der Ergebnisliste.
Wer nur nach Dateien/Ordnern mit bestimmten Namen sucht, kann auch den Befehl "locate" verwenden.
Beispiel:
locate gimp
Als Ausgabe bekommt man alle Dateien und Ordner die "gimp" enthalten, und damit z.b die Konfigurationsdateien, den Gimp-Ordner im Homeverzeichnis, Plugins usw. Um nach Config-Files von Gimp im Verzeichnis /etc zu suchen, genügt die Eingabe von:
locate gimp | grep /etc
Korrektur: Dieser Befehl würde auch die Datei /usr/local/etc/gimprc ausgeben. Richtig ist es so:
locate gimp | grep ^/etc
ToDo: Mit DateienSuchen vereinigen