Frage zu sed evl. auch awk

Antworten
Nachricht
Autor
gefrusteter sed user

Frage zu sed evl. auch awk

#1 Beitrag von gefrusteter sed user » 19. Jun 2007 16:33

Hi,

Ich probiere schon den ganzen mit sed und awk rum und bekomme es leider nicht hin.
Ich will aus einem Text File wo eine IP Adresse immer in "[....] "steht nur die
IP Adresse rausschneiden.
Wie lösche ich am einfachsten alles vor [ und alles nach ].

Über jeden Tipp bi nich dankbbar.

Grüße
Stefan

Benutzeravatar
hastifranki
Beiträge: 259
Registriert: 06. Mai 2006 19:58

#2 Beitrag von hastifranki » 19. Jun 2007 21:38

Mit grep geht es auch:

Code: Alles auswählen

grep -o '\[[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\]' Dateiname
viele Grüße
Frank

komsomolze
Beiträge: 430
Registriert: 03. Mär 2006 23:16

#3 Beitrag von komsomolze » 21. Jun 2007 20:46

Mit Gruppierungen vielleicht?

sed 's@^(.*)[(.*)](.*)$@\2@'
die mittlere Gruppe wäre dann die IP.
Jedoch müssen die Klammern jeweils gequoted werden:

Code: Alles auswählen

sed 's@^\(.*\)[\(.*\)]\(.*\)$@\2@'
klappt aber so nur bei einer IP pro Zeile.


EDIT
http://www.sm.luth.se/~alapaa/file_fetc ... lf/sedawk/
http://www.gnu.org/software/gawk/manual/gawk.html
http://www.linuxfibel.de/awk.htm
http://mozart.nt.fh-koeln.de/pits/regex.html
Jeweils auch die sed-Artikel.
mfg komsomolze

Antworten