XML-File bearbeiten lassen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
rksteve
Beiträge: 716
Registriert: 11.09.2003 12:24:53
Kontaktdaten:

XML-File bearbeiten lassen

Beitrag von rksteve » 20.02.2009 21:43:15

Hallo!

Ich habe ein XML-File und benötige daraus nur die Informationen die zwischen bestimmten Tags stehen.
<tag1>foo </tag1><tag2>text</tag2><tag3>bar</tag3>
Die Ausgabe sollte dann folgendermassen aussehen: foo - bar
Gib es einProgramm mit dem man das erledigen kann, oder hat jamand ein kurzes bash-script zur Hand?

lg,
Steve
Ich? Nein, ich bin keine Signatur, ich mach hier nur sauber...

Benutzeravatar
detix
Beiträge: 1743
Registriert: 07.02.2007 18:51:28
Wohnort: MK

Re: XML-File bearbeiten lassen

Beitrag von detix » 22.02.2009 08:45:55

Eine Aufgabe für sed:

Code: Alles auswählen

sed -ne 's#<tag1>\(.*\)</tag1>.*<tag3>\(.*\)</tag3>#\1- \2#p' Datei.xml
foo - bar
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!

Benutzeravatar
rksteve
Beiträge: 716
Registriert: 11.09.2003 12:24:53
Kontaktdaten:

Re: XML-File bearbeiten lassen

Beitrag von rksteve » 22.02.2009 10:48:15

super, danke!

lg,
Steve
Ich? Nein, ich bin keine Signatur, ich mach hier nur sauber...

Hans-Wilhelm
Beiträge: 332
Registriert: 07.06.2007 20:01:12

Re: XML-File bearbeiten lassen

Beitrag von Hans-Wilhelm » 04.03.2009 18:48:34

:wink: ... und wie sähe es aus, wenn das Ergebnis nicht

foo - bar

sondern wie

foo
bar
foo
.
.

aussehen sollte?

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: XML-File bearbeiten lassen

Beitrag von Duff » 04.03.2009 19:03:44

Du kannst auch einfach mit sed alle <>-Tags löschen.

Code: Alles auswählen

daniel@daniel-laptop:/tmp$ cat xml.txt 
<tag1>bar</tag1><tag2>text</tag2><tag3>bar</tag3>
daniel@daniel-laptop:/tmp$ sed -ne 's/<[^>]*>/ /g;p' xml.txt 
 bar  text  bar 
Oh, yeah!

Antworten