gabbbagandalf
01-02-2005, 19:47
Hallo,
ich wie kann man XML Dateien nach bestimmten Datensätzen ausfiltern?
Ich hab da z.B. :
<programm starttime="(DATUM im Format JJJJMMTT)">
<title>blabla</title>
<desc>text</desc>
</programm>
davon mehrere hunderte. Ich will jetzt alle ausgeben die z.b. das Datum 20050101 haben. Mit
cat inputfile | grep "20050101" -A 4
würde er mir ja jeweils die Zeile ausgeben, in der der Text gefunden wurde und die folgenden 4 Zeilen. Das Problem ist nur, das desc teilweise Mehrzeilig ist. Deshalb bräuchte ich etwas, mit dem man von <tag > bis </tag> lesen kann. Wie stell ich das am einfachsten mit Bash an?
ich wie kann man XML Dateien nach bestimmten Datensätzen ausfiltern?
Ich hab da z.B. :
<programm starttime="(DATUM im Format JJJJMMTT)">
<title>blabla</title>
<desc>text</desc>
</programm>
davon mehrere hunderte. Ich will jetzt alle ausgeben die z.b. das Datum 20050101 haben. Mit
cat inputfile | grep "20050101" -A 4
würde er mir ja jeweils die Zeile ausgeben, in der der Text gefunden wurde und die folgenden 4 Zeilen. Das Problem ist nur, das desc teilweise Mehrzeilig ist. Deshalb bräuchte ich etwas, mit dem man von <tag > bis </tag> lesen kann. Wie stell ich das am einfachsten mit Bash an?