irgendwas kriege ich hier nicht auf die Reihe: wenn ich alle Dateien suchen will, die z.B. mit ".txt" aufhören und "egal" enthalten, geht das nicht mit find / -iname "*.txt" | grep egal , weil das die gelieferten Pfade durchsuchen würde und also alles liefert, was mit ".txt" aufhört und im Pfad irgendwo "egal" enthält. So weit kapier ich noch alles.
Warum geht es aber nicht mit find / -iname "*.txt" | cat | grep egal ? Weil cat nur die Dateinamen bekommt und auch nur Dateinamen an grep übergibt. Du brauchst noch etwas das in die Dateien reinschaut die find
Hi On Tuesday 24 June 2003 17:29, Martin Schmiderer wrote: liefert.
Hallo *,
was Du suchst ist find / -iname '*.txt' -exec grep egal {} \;
man find ist das was Du lesen solltest.
Naja, da kommen dann aber nur die Zeilen aus irgendwelchen Dateien raus die "egal" enthalten. Ich vermute mal, dass da aber die Dateinamen der Dateien die "egal" enthalten rauskommen soll. find ./ -name '*.txt' -exec grep -q egal {} \; -exec echo {} \; Da kommen dann die Dateinamen raus die find gefunden hat und bei denen grep "egal" gefunden hat. grep -q testet ob egal in der Datei enthalten ist und gibt nur einen Rückgabewert und keine Ausgabe auf stdout. Das echo wird nur ausgeführt, wenn der erste grep Erfolgreich war. mfg Axel