R
research3
Grünschnabel
Hallo Zusammen,
Ich versuche seit Stunden ein Bash Script zu erstellen aber leider ohne Erfolg.
Der Script soll verschiedenen Variablen in einem Textdatei mit die richtige XML-Werte ersetzen. .
Das XML File sieht folgend aus:
file.xml
===================================
<?xml version="1.0" encoding="UTF-8"?>
<Daten>
<export_date>2008-07-15 16:29:01</export_date>
<language>english</language>
===================================
temp.txt
===================================
Alle Daten wurden am <export_date> Exportiert
Die <language> übersetzung folgt.
===================================
script.sh
===================================
#!/bin/bash
IFS=$'\n'
for i in `cat file.xml | sed 's/>/ /g' | awk '{print $1}' | sed 's/</ /g' | sed 's/ //g'`
do
for j in `grep "$i" temp.txt | sed 's/.*<//g'| sed 's/>.*//g' `
do
#echo $j
for h in `cat temp.txt | sed -e "s/"$j"/$(cat file.xml | grep "$j" | sed 's/>/ /g' | sed 's/</ /g' | awk '{print $2}')/g" >> temp2 `
do
echo $h
done
done
done
==================================================
Habt Ihr ein Idee was ich hier falsch mache ?
thx
.
.
.
EDIT (autom. Beitragszusammenführung) :
.
Das Wunschergebnis:
Alle Daten wurden am 2008-07-15 16:29:01 Exportiert
Die language übersetzung folgt.
Ich versuche seit Stunden ein Bash Script zu erstellen aber leider ohne Erfolg.
Der Script soll verschiedenen Variablen in einem Textdatei mit die richtige XML-Werte ersetzen. .
Das XML File sieht folgend aus:
file.xml
===================================
<?xml version="1.0" encoding="UTF-8"?>
<Daten>
<export_date>2008-07-15 16:29:01</export_date>
<language>english</language>
===================================
temp.txt
===================================
Alle Daten wurden am <export_date> Exportiert
Die <language> übersetzung folgt.
===================================
script.sh
===================================
#!/bin/bash
IFS=$'\n'
for i in `cat file.xml | sed 's/>/ /g' | awk '{print $1}' | sed 's/</ /g' | sed 's/ //g'`
do
for j in `grep "$i" temp.txt | sed 's/.*<//g'| sed 's/>.*//g' `
do
#echo $j
for h in `cat temp.txt | sed -e "s/"$j"/$(cat file.xml | grep "$j" | sed 's/>/ /g' | sed 's/</ /g' | awk '{print $2}')/g" >> temp2 `
do
echo $h
done
done
done
==================================================
Habt Ihr ein Idee was ich hier falsch mache ?
thx
.
.
.
EDIT (autom. Beitragszusammenführung) :
.
Das Wunschergebnis:
Alle Daten wurden am 2008-07-15 16:29:01 Exportiert
Die language übersetzung folgt.
Zuletzt bearbeitet: