Sono bloccato cercando di incrementare una variabile in un file .xml. Il tag potrebbe essere in un file 100 volte o solo due volte. Sto cercando di aggiungere un valore che incrementerà l'importo più volte. Ho incluso un codice di esempio su cui sto lavorando, ma quando eseguo lo script ne inserirà solo uno e non incrementerà ulteriormente. Il consiglio sarebbe fantastico su quello che sto facendo male.Incremento con bash
for xmlfile in $(find $DIRECTORY -type f -name \*.xml); do
TFILE="/tmp/$directoryname.$$"
FROM='><process>'
TO=' value\=""><process>'
i=0
while [ $i -lt 10 ]; do
i=`expr $i + 1`
FROM='value\=""'
TO='value\="'$i'"'
done
sed "s/$FROM/$TO/g" "$xmlfile" > $TFILE && mv $TFILE "$xmlfile"
done
Il while
ciclo è stato qualcosa che ho appena messo a testare il codice. Inserirà lo <process>
ma non inserirà l'incremento.
Il mio obiettivo finale:
<process>value="1"</process>
<process>value="2"</process>
<process>value="3"</process>
<process>value="4"</process>
E così via finché <process>
è presente nel file di cui ha bisogno per incrementare.
Vedere un test: http://pastie.org/5395937 –