M
mojorianer
Grünschnabel
Hallo,
ich möchte die Ausgabe einer MySQL-Anfrage zeilenweise auswerten und die darin enthaltenen Werte in ein Template schreiben und gegen bestimmte Platzhalter austauschen.
Mein Problem ist, dass ich die Werte aus der Anfrage nicht richtig in eine Variable bekomme.
Das Template /root/template
Und das Bash-Skript
Die MySQL Anfrage /root/ergebnis
Im File /root/temp1 steht nach dem Ausführen immer $1,$2 bzw. $3 und nicht der Inhalt dieser Variablen.
Wenn ich die Anweisung
in
ändere, werden die platzhaler1 bis 3 einfach gelöscht.
Vielleicht hat einer einen Vorschlag.
Vielen Dank
ich möchte die Ausgabe einer MySQL-Anfrage zeilenweise auswerten und die darin enthaltenen Werte in ein Template schreiben und gegen bestimmte Platzhalter austauschen.
Mein Problem ist, dass ich die Werte aus der Anfrage nicht richtig in eine Variable bekomme.
Das Template /root/template
Code:
Host: platzhalter1
Service: platzhalter2
Zeit: platzhalter3
Und das Bash-Skript
Code:
#!/bin/bash
mysql -uroot -pGeheim otrs < /root/query
while read line
do
echo $line | awk -F\| '{print $1,$2,$3}'
sed -e 's/platzhalter1/$1/g' -e 's/platzhalter2/$2/g' -e 's/platzhalter3/$3/g' /root/template > /root/temp1
done < /tmp/ergebnis
Die MySQL Anfrage /root/ergebnis
Code:
wertX|wertY|wertZ
wertA|wertB|wertC
Im File /root/temp1 steht nach dem Ausführen immer $1,$2 bzw. $3 und nicht der Inhalt dieser Variablen.
Wenn ich die Anweisung
Code:
sed -e 's/platzhalter1/$1/g'
Code:
sed -e "s/platzhalter1/$1/g"
Vielleicht hat einer einen Vorschlag.
Vielen Dank
Zuletzt bearbeitet: