Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Named Pipes

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Wolfgang Jaschke
Gast





BeitragVerfasst am: 11. Jan 2001 13:15   Titel: Named Pipes

Ich möchte aus einer Datei Zeilen herausfiltern, die gleichzeitig N Wörter enthalten.

Ganz simpel wäre das mit dem Befehl :
grep Pattern1 MyFile | grep Pattern2 | grep ... usw.
bringt mir zum Schluss eine Liste der Zeilen die alle Pattern enthalten.
(ich weis, bis hierhin gehts auch eleganter Smile)..)

Aber ich möchte nicht nur das Ergebnis, sondern auch eine Liste wie oft Pattern1 wie oft Pattern2 usw gefunden wurde. Und das alles ohne Zwischendateien, weil die Suchdatei sehr umfangreich ist.
Ok, lässt sich wahrscheinlich über Prozeßsubtitution und Named Pipes lösen, bloß wie??
 

ratte
Gast





BeitragVerfasst am: 11. Jan 2001 19:02   Titel: Re: Named Pipes

inner bash hilft da 'wc', nein, das ist nix sanitaeres, sonder heisst WordCount...

ratte
 

Jochen
Gast





BeitragVerfasst am: 12. Jan 2001 10:43   Titel: Re: Named Pipes

wc? Ach nö, der zählt ja immer ganze Wörter und nix anderes...

Dein Problem ist mir noch nicht ganz klar: Suchst Du nun alle Zeilen, die Treffer für alle N regulären Ausdrücke bieten, oder nach Zeilen, die N beliebige Wörter enthalten? Das ist ein Unterschied!

Wenn Du durch die grep's Deine Treffermenge eingrenzt, hast Du in jeder übrig gebliebenen Teile mindestens einen Treffer pro verwendeten regulären Ausdruck. Kommt es jetzt auch darauf an, ob ein RA mehrmals in einer Zeile auftaucht?

So oder so, da gibt es mehrere Lösungsmöglichkeiten. Kennst Du den awk, oder perl? Die würden Dir die Arbeit leichter machen als reine Shellprogrammierung.
 

WolfieK
Gast





BeitragVerfasst am: 13. Jan 2001 13:47   Titel: Re: Named Pipes

der ansatz mit awk ist ok.
der grep ist effektiver mit:
grep -E '(string1)|(string2)' filename
das ganze dann pipen zum awk:
grep -E '(string1)|(string2)' filename | awk -v Var1=$string -v Var2=$string2 '.......

viel spass

greet$
Wolfie
 

Wolfgang Jaschke
Gast





BeitragVerfasst am: 17. Jan 2001 13:18   Titel: Vielen Dank

Ich bin inzwischen selbst weiter gekommen, und danke allen Postern für ihre Antworten.
CU
W.
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy