Ich versuche hier eine Datei anzugleichen die Zeilenweise eingelesen wird.
Klappt auch so weit!
nur wen in der Variable $ist oder $soll ein /dev oder in der Art Vorkommt versagt sed!
Hier mal als Beispiel suchwort DVD mit der mit den setting
value="/dev/hdb"
nun soll in der anderen Datei in der Zeile mit dem Suchwort DVD die Variable
value="/dev/hdc" in value="/dev/hdb" umgewandelt werden!
Wen ich Ander trennzeichen nehme klappt das mit den Variablen nicht!
Ich habe # bisher probiert andere haben überhaubt nicht gefunzt!
such=DVD
#############
#soll=hdb #Hiermit geht´s
#ist=hdc #
#############
soll="/dev/hdb"
ist="/dev/hdc"
echo $such ist value=$ist|sed -e /$such/s/value=$ist/value=$soll/
Edit hier mal alles im zusammen hang!
ZitatAlles anzeigencp -f /home/papa/Desktop/vdr-setup.xml.orig /home/papa/Desktop/vdr-setup.xml
cat /home/papa/Desktop/soll_sysconfig|grep -v "#"|grep -v PLUGINLIST|sed -e '/^[ ]*$/d' > /home/papa/Desktop/soll_sysconfig.dat
cat /home/papa/Desktop/sysconfig|grep -v "#"|grep -v PLUGINLIST|sed -e '/^[ ]*$/d' > /home/papa/Desktop/sysconfig.dat
while read zeile ;do
such=$(echo $zeile|cut -d"=" -f1)
soll=$(echo $zeile|cut -d"=" -f2)
ist=$(cat /home/papa/Desktop/sysconfig.dat|grep "^$such="|cut -d"=" -f2)
sed -i /$such/s/value\="$ist"/value\="$soll"/ /home/papa/Desktop/vdr-setup.xml
done < /home/papa/Desktop/soll_sysconfig.dat