Hallo Leute Am Dienstag, 14. September 2010, 20:26:17 schrieb Christian Brabandt:
suche=(wort1 wort2 wort3 wortn) find . -type f -exec egrep "`echo ${suche[*]}|sed 's/\ /\|/g'`" /dev/null {} \;
Warum nicht gleich mit sed suchen?
Bei der Gelgenheit schicke ich auch noch einen Vorschlag ins Rennen. Man kann nur dazuzlernen: (alles auf einer Zeile): find -type f | while read a ; do b=`cat $a` ; c=`echo $b | grep wort1 | grep wort2 | grep -c wort3` ; if [ $c -gt 0 ] ; then echo $a ; fi ; done - Variable a ist klar. - Variable b benutze ich hier, weil ein echo von $b den ganzen Inhalt in einer Zeile ausgiebt. - bei Variable c interessiert mich nur die Zahl die beim letzten grep durch die Option -c rauskommt. Ist diese größer als 0 kann ich davon ausgehen, das alle Worte vorhanden waren. Hätte ein Wort gefehlt, dann wäre am Ende der grep's 0 rausgekommen. Ich hoffe ich habe nicht zu umständlich gedacht. Viele Grüße Peter -- ######################################################################## ######################################################################## ######################################################################## ######################################################################## -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org