.xml ファイルの変数をインクリメントしようとして行き詰まりました。タグはファイル内に 100 回または 2 回だけ存在する可能性があります。量を数回増やす値を追加しようとしています。作業中のサンプル コードをいくつか含めましたが、スクリプトを実行すると、1 つだけ配置され、それ以上インクリメントされません。私が間違っていることについてのアドバイスは素晴らしいでしょう。
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
ループは、while
コードをテストするために配置したものです。を挿入<process>
しますが、インクリメントは挿入しません。
私の最終目標:
<process>value="1"</process>
<process>value="2"</process>
<process>value="3"</process>
<process>value="4"</process>
など、ファイルに存在する限り、<process>
インクリメントする必要があります。