Forums Neueste Beiträge
 

[sed] logisches ODER

20/02/2012 - 15:10 von Lars Uhlmann | Report spam
Wie setzt man das logische ODER im Ausdruck:

egrep '(http|https|ftp)' logfile

in »sed« um? Anscheinend kennt es keine Gruppierung mit '()'?
Also z.B.:

sed 's/(http|https|ftp)/IRGENDWAS/' logfile

Ich will aus einer Zeile einer Log-Datei eine Domain-Angabe
herausfiltern:

sed 's@^.*\ \((http|https|ftp)://[^/]\{1,\}\)/.*$@\1@' logfile

Danke
Lars
 

Lesen sie die antworten

#1 Sascha Hüdepohl
20/02/2012 - 15:21 | Warnen spam
Lars Uhlmann schrieb:

Wie setzt man das logische ODER im Ausdruck:

egrep '(http|https|ftp)' logfile

in »sed« um? Anscheinend kennt es keine Gruppierung mit '()'?



$ echo "Hier und da Hallo" | sed -e 's/\(ie\|all\)/#/g'
H#r und da H#o

Also (, ) und | escapen.

$ sed --version
GNU sed-Version 4.2.1

HTH
Sascha

Ähnliche fragen