Veröffentlicht 24. November 200519 j Hi, ich suche einen grep-Ausdruck... und irgendwie kriege ich das nicht hin... Also ich mich alle Zeile grepen, die - "bla" ODER "blub" als einzelnes Wort - UND "hallo" als einzelnes Wort enthalten. Das mit dem ODER bekomme ich schon hin und zwar so: grep -wE '(bla|blub)' aber es scheiert an der Verbindung mit dem UND "hallo" ... ich glaube, ich steh auf m Schlauch... oder es ist zu spät... aber ich probiere schon seit ner geraumen Zeit alle Kombis aus... und es will nicht gelingen... RegEx liegt mir leider auch nicht so Danke schon mal für Hilfe!
25. November 200519 j Herrje... danke... das war jetzt wirklich zu einfach zu so später Stunde... was ich da für komische Konstrukte probiert habe ... und dann einfach ein zweites Pipe... ohoh... also vielen Dank dafür!
1. Dezember 200519 j Oh je.. ich schon wieder... Wie würde denn sowas hier aussehen: ("bla" UND "blubb") ODER "hallo" ... mit dem hier grep -wE '(bla|blub)' | grep hallo .. mache ich ja quasi nur eine Zusatzbedingung... ... mhh... sehe das irgendwie nicht...?!
1. Dezember 200519 j Hallo, versteh ich nicht so ganz: Müssen bla und blubb vorkommen? Also soll nur eine Zeile ausgegeben werden, in der beides steht? Soll denn, wenn bla und blubb vorkommen, aber hallo auch, die Zeile ignoriert werden?
1. Dezember 200519 j Probier mal: grep -wE '(bla.*?blub)|hallo' Tausend Dank - das klappt! *Vormittag-Retter* Müssen bla und blubb vorkommen? Also soll nur eine Zeile ausgegeben werden, in der beides steht? Soll denn, wenn bla und blubb vorkommen, aber hallo auch, die Zeile ignoriert werden? Wenn "bla" und auch "blubb" vorkommen -> Zeile ausgeben Wenn "hallo" vorkommt -> ebenfalls ausgeben Die Möglichkeite "bla", "blubb" und "hallo" in einer Zeile gibt es nicht -> ignorieren.
1. Dezember 200519 j Eine Frage hätte ich aber noch... vll. kann Enrico sie beantworten... ist das "?" quasi der "UND"-Operator?!
1. Dezember 200519 j 1. Der Fall, dass alle drei in Zeile nicht vorkommen duerfen, ist nicht beruecksichtigt. 2. Erklaerung: - der Punkt steht fuer genau ein beliebiges Zeichen - der Stern sagt, dass das Zeichen vor dem Stern beliebig oft (0 ... n) vorkommen darf - das Fragezeichen ist eingentlich nur wichtig, wenn man mit dem Ergebnis noch weiterarbeiten will: - OHNE Fragenzeichen wuerde das Ergbnis des Strings 'sakjdBblahashdf blubbasKDJHASDHSAKHblubSDF' sein: blahashdf blubbasKDJHASDHSAKHblub - MIT jedoch nur: blahashdf blub - das Fragezeichen sorgt, dafuer, dass das erste Muster genommen wird, das passt -> non greedy - per default wird das groesst moegliche Muster gesucht -> greedy Fazit: - das UND kommt also durch .* zustande, das zwischen den beiden Begriffen steht
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.