awk, sed oder wie

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
klak
Beiträge: 491
Registriert: 31.01.2003 19:18:45

awk, sed oder wie

Beitrag von klak » 13.09.2007 20:24:28

Hallo *,

habe folgende Datei:
Zeile 1
df
d
sdfdf<testurl>http://www.test.de/</testurl>sdfsfs
s
sdf

daraus brauche ich

Code: Alles auswählen

http://www.test.de/
.

ist das mit einem awk oder sed Aufruf zu schaffen?


Dank und Gruss
klak

kotzkind
Beiträge: 279
Registriert: 29.10.2006 17:56:10

Beitrag von kotzkind » 13.09.2007 20:39:03

Hatte mal ein ähnliches Problem.
Hab es dann so gelöst das ich alle tags deren inhalt ich filtern wollte durch ein zeilenumbruch ersetzt hatte und dann noch die einzelnen zeilen danach gefiltert hatte welche mit http:// angefangen haben.

Wie ich das genau gemacht hab weiß ich nicht mehr vielleicht find ich ja noch das skript.
Jedenfalls war kein awk notwendig

in einem aufruf wirst du eher awk verwenden müssen.

In einer zeile bringt man es ja trotzdem

Benutzeravatar
Meillo
Moderator
Beiträge: 9254
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Beitrag von Meillo » 13.09.2007 21:22:52

Code: Alles auswählen

sed -n -e '/<testurl>/ s/^.*<testurl>\(.\+\)<\/testurl>.*$/\1/p' datei.txt
liefert was du suchst.
Use ed once in a while!

fuzzy
Beiträge: 1021
Registriert: 04.10.2003 12:15:52

Beitrag von fuzzy » 14.09.2007 23:11:51

Hallo klak,

Code: Alles auswählen

awk -F "</*testurl>" '/<\/*testurl>/ {print$2}' datei.txt
Gruß fuzzy

yeti

Beitrag von yeti » 15.09.2007 03:40:01

Code: Alles auswählen

awk 'match($0,"<testurl>.*</testurl>") { print substr($0,RSTART+9,RLENGTH-19) }' DatEi
...die 9 (Länge des Starttags) und die 19 (Länge von Start- plus Endtag) sind ggfs an andere Tags anzupassen.

klak
Beiträge: 491
Registriert: 31.01.2003 19:18:45

Beitrag von klak » 16.09.2007 14:16:41

Ahhh super, dank an alle.

klak

Antworten