[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: grep



Hallo,

Am Sam, 05 Aug 2006, Mathias Brodala schrieb:
>Hallo Mario.
>> grep unterstuetzt basic regular expressions
>> egrep (unter GNU auch grep -E) unterstuetzt extended regular expressions
>> perl compatible regular expressions unterstuetzt afaik kein grep.
>
>IC. Welche Merkmale von PCRE unterstützt [ef]?grep denn nicht? 
>Lookaheads und Konsorten?

Zum Beispiel. Oder auch die Schreibweise mit '/x'-Modifier, Escapes
fuer Zeichenklassen (\w\W\s\S\b...), Escapes zum "Quoten" von
Metazeichen im Muster (\Q...\E), eingebettete Modifier (wie
'(?i:bla)') und anderes...

Fuer Basic und Extended Regular Expressions moege man
sich in 'man 7 regex' vertiefen. PCRE sind in 'man perlre'
bzw. 'perldoc perlre' dokumentiert.

Zur Ausgangsfrage noch: die bisher angebotenen Loesungen sind alle
"fsalsc" (wenn man's genau nimmt). Die Option '-o' ist nur in
aktuellen GNU grep Implementationen vorhanden:

$ echo bla | grep -o -e '.'
grep: invalid option -- o
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
$ grep --version
grep (GNU grep) 2.2
[..]

Portabel ist die Loesung mit 'sed':

    sed -n '/http.*\.mpeg/s/.*\(http.*\.mpeg\).*/\1/p'
                   ^^                 ^^ auch das wurde bisher
                                         ignoriert

Einfacher zu lesen aber weniger performant, das das s/// auf jede
Zeile angewendet wird und nicht nur auf die adressierten:

    sed -n 's/.*\(http.*\.mpeg\).*/\1/p'

=> man sed

HTH & HAND,
-dnh

-- 
"The idea that Bill Gates has appeared like a knight in shining armour to
lead all customers out of a mire of technological chaos neatly ignores the
fact that it was he who, by peddling second-rate technology, led them into
it in the first place."            -- Douglas Adams in Guardian, 25-Aug-95



Reply to: