sockä Geschrieben 24. November 2005 Geschrieben 24. November 2005 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! Zitieren
1226 Geschrieben 24. November 2005 Geschrieben 24. November 2005 grep -wE '(bla|blub)' | grep hallo Zitieren
sockä Geschrieben 25. November 2005 Autor Geschrieben 25. November 2005 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! Zitieren
sockä Geschrieben 1. Dezember 2005 Autor Geschrieben 1. Dezember 2005 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...?! Zitieren
etreu Geschrieben 1. Dezember 2005 Geschrieben 1. Dezember 2005 Probier mal: grep -wE '(bla.*?blub)|hallo' Zitieren
carstenj Geschrieben 1. Dezember 2005 Geschrieben 1. Dezember 2005 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? Zitieren
sockä Geschrieben 1. Dezember 2005 Autor Geschrieben 1. Dezember 2005 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. Zitieren
sockä Geschrieben 1. Dezember 2005 Autor Geschrieben 1. Dezember 2005 Eine Frage hätte ich aber noch... vll. kann Enrico sie beantworten... ist das "?" quasi der "UND"-Operator?! Zitieren
etreu Geschrieben 1. Dezember 2005 Geschrieben 1. Dezember 2005 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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.