[linux-l] Tracker Search Tool: Wie sucht man nach einem String mit mehreren Wörtern?
Robert C. Helling
r.helling at iu-bremen.de
Do Jul 26 16:42:02 CEST 2007
On Thu, 26 Jul 2007, Detlef Lechner wrote:
> Das Programm soll einen Suchstring im Inhalt vieler Dateien suchen und
> finden.
> Das Programm findet einen Suchstring, der aus einem Wort besteht,
> einwandfrei.
> Wenn der Suchstring aber aus mehreren Wörtern besteht, dann gibt das
> Programm die Namen und Stellen der Dateien der Dateien aus, in denen die
> einzelnen Wörter des Suchstrings vorkommen. Das Programm gibt aber nicht
> die Datei an, in der nur der gesamte Suchstring vorkommt.
> Das Programm ignoriert im Suchstring andere eingegebene Zeichen als
> Buchstaben.
> Ziel ist, sich nur z. B. nur die Dateien anzeigen zu lassen, in denen
> der Suchstring "Linux rettet die Welt" vorkommt. Das Programm listet
> aber alle Dateien auf, in denen "Linux" vorkommt plus Datein, in denen
> "rettet" vorkommt, plus Dateien, in denen "die" vorkommt plus Dateien,
> in denen "Welt" vorkommt.
> Meine Frage war, wie man die Ausgabe der vielen fälschlich ausgegebenen
> Dateien verhindern kann. Durch Delimiter am Suchstringanfang und -ende?
Und warum benutzt Du nicht grep? OK, das geht nur, wenn der ganze Suchtext
in einer Zeile steht. Falls das kritisch ist, wie steht's mit einem
kleinen Perl script:
perl -0 -e '$_ = <>; exit(not /bar\s+baz/s);' foo
gibt zb true, wenn die Datei foo die Woerter 'bar' und 'baz'
aufeinanderfolgend enthaelt (hochstens durch white space oder new line
getrennt).
Robert
--
.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oO
Robert C. Helling Elite Master Course Theoretical and Mathematical Physics
Scientific Coordinator
Ludwig Maximilians Universitaet Muenchen, Dept. Physik
print "Just another Phone: +49 89 2180-4523 Theresienstr. 37, rm. 440
stupid .sig\n"; http://www.atdotde.de
Mehr Informationen über die Mailingliste linux-l