Mailinglist Archive: opensuse-de (763 mails)
| < Previous | Next > |
Re: Grep und find
- From: Torsten Foertsch <torsten.foertsch@xxxxxxx>
- Date: Wed, 15 Apr 2009 20:22:59 +0200
- Message-id: <200904152022.59887.torsten.foertsch@xxxxxxx>
On Wed 15 Apr 2009, Lentes, Bernd wrote:
find / \( -path /proc -prune \) -o \( -type f -print0 \) |
xargs -0 grep STRING /dev/null
Vergiß -exec! Das könntest Du zwar statt -print0 benutzen, es ist aber
weniger effektiv. Mit -exec würdest Du für jedes File einen
grep-Prozess starten. Xargs hingegen sammelt soviele Filenamen, bis die
maximale Kommandozeilenlänge erreicht ist und startet dann einen grep.
Sind mehrere Dateien auf der grep Kommandozeile angegeben, zeigt grep im
Output immer den Filenamen mit an. Das ist sicher das, was Du willst,
oder? Nun könnte es passieren, daß der letzte grep-Aufruf nur noch eine
Datei kriegt. Um das zu vermeiden steht /dev/null als erstes Argument
im grep-Aufruf. So hat er immer mindestens 2 Dateien zu greppen, wobei
die erste leer ist.
Torsten
--
Need professional mod_perl support?
Just hire me: torsten.foertsch@xxxxxxx
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+unsubscribe@xxxxxxxxxxxx
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+help@xxxxxxxxxxxx
Jetzt muss ich noch schauen, wie ich mein grep da hinein bekomme.
find / \( -path /proc -prune \) -o \( -type f -print0 \) |
xargs -0 grep STRING /dev/null
Vergiß -exec! Das könntest Du zwar statt -print0 benutzen, es ist aber
weniger effektiv. Mit -exec würdest Du für jedes File einen
grep-Prozess starten. Xargs hingegen sammelt soviele Filenamen, bis die
maximale Kommandozeilenlänge erreicht ist und startet dann einen grep.
Sind mehrere Dateien auf der grep Kommandozeile angegeben, zeigt grep im
Output immer den Filenamen mit an. Das ist sicher das, was Du willst,
oder? Nun könnte es passieren, daß der letzte grep-Aufruf nur noch eine
Datei kriegt. Um das zu vermeiden steht /dev/null als erstes Argument
im grep-Aufruf. So hat er immer mindestens 2 Dateien zu greppen, wobei
die erste leer ist.
Torsten
--
Need professional mod_perl support?
Just hire me: torsten.foertsch@xxxxxxx
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+unsubscribe@xxxxxxxxxxxx
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+help@xxxxxxxxxxxx
| < Previous | Next > |