[linux-l] Dateien durchsuchen

Oliver Bandel oliver at first.in-berlin.de
Di Nov 26 13:20:37 CET 2002


On Mon, Nov 25, 2002 at 06:13:32PM +0100, Christoph Biedl wrote:
> Jan-Benedict Glaw wrote...
> 
> > On Mon, 2002-11-25 17:48:16 +0100, georg Smeets <georg at smeets-net.de>
> > wrote in message <BOECJOCMEHJLCCHHPIHAEEPFDDAA.georg at smeets-net.de>:
> > > Hallo Liste
> > > 
> > > ich weß zwar wie ich mit dem more grep befehl Dateien nach einer bestimmten
> > > Zeichenfolge durchsuche. Wie kann ich alle Dateien des Systems durchsuchen?
> > 
> > find / -type f -exec grep -H suchmich {} \;
> 
> *hüstel*
> 
> Problem 1: Dateinamen mit ungewöhnlichen Zeichen (z.B. Leerzeichen) machen
> Schwierigkeiten. Falls also eine parallel Windowsinstallation gemountet
> ist, wird's ab "Eigene Dateien" sehr lustig.
> Problem 2: Für jede gefundene Datei wird grep aufgerufen. Das
> funktioniert, ist aber performancemäßig herausgefordert.
> 
> Lösung: find / -type f -print0 | xargs -r0 grep suchmich

Problem: xargs arbeitet mit den Ausgaben, die es via argv
bekommt; die Anzahl der Zeilen ist dabei begrenzt; es kann
passieren, das die Pipe deswegen zusammenbricht, weil zu viele
argv's auftreten.

Also besser mit find's Bordmitteln arbeiten.
-exec zu nutzen ist da also schon ganz sinnvoll!

Ciao,
   Oliver




Mehr Informationen über die Mailingliste linux-l