[linux-l] Dateien durchsuchen

Oliver Bandel oliver at first.in-berlin.de
Di Nov 26 17:55:38 CET 2002


On Tue, Nov 26, 2002 at 01:59:13PM +0100, Henrik Hempelmann wrote:
> Zitat von Oliver Bandel <oliver at first.in-berlin.de>:
> 
> > On Mon, Nov 25, 2002 at 06:13:32PM +0100, Christoph Biedl wrote:
> > > 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.
> 
> Auch das ist Kwatsch!

Nur das mit dem Imput des argv ist quatsch.
In der Tat.
Aber daß die Kommandozeilen zu lang werden können
Ist nicht quatsch und mir ist das selbst schon passiert!


> 
> sechs! setzen! Manpage lesen, verstehen, nochmal lesen!
> Und als Hausaufgabe bis morgen:

Reiß doch nicht so die Fresse auf, Du blöder Großkotz!

Manchmal schlaf ich halt noch, wenn ich den
Rechner anschalte. Schön für Dich, wenn Dir das
nicht passiert.

Aber was soll diese kotzige Art?


> 
> a) Erklaeren sie den Unterschied zwischen:
> grep foo `find . -type f -print`
>   und 
> find . -type f -print|xargs grep foo

Ja,  ja, wird rein ge-pipe-t.

Immer schön blaß bleiben, Herr Oberlehrer.


Wie schön, daß es so viele unfehlbare Päbste hier gibt.

Sind die Linuxer eigentlich alle solche Kotzbrocken/Oberlehrer?

(Kein Wunder, daß Windows Marktführer ist. Die lächeln
alle, die Leute. Und die vergrätzen Linux-Idioten hocken
im Server-Raum und jammern über Win und belehren alle
"dummen" Windows-Nutzer.)


> 
> b) wie lang darf die Argumentzeile auf meinem Linuxrechner werden?

Das ist implementierungsabhängig.

=> ARG_MAX ; sollte minimal 4096 sein; muß aber nicht

Wieviele Dateien wird find / -type f wohl finden?

Mit hoher Wahrscheinlichkeit mehr als 4096.

Und mit ner alten xargs-version knallts dann.

Ich habe noch die genervten Wehklagen der Unixer im Ohr,
die deswegen abgekotzt hatten... :(

Und nicht jeder, der Script auf Linux schreibt, will die
nur auf Linix neuester Installation betreiben.
Ältere Linuxe und womöglich auch neue Unixe haben damit
sicherlich immer noch ein Problem.


Ciao,
  Oliver




Mehr Informationen über die Mailingliste linux-l