Linuxでツール(チェーン)(sed/bash/...)を検索して、次のことを実現します:ここではXML)は同じ値を見つけ、いくつかのルールでこれらの値をチェックし、オフセットを加えてこれらの値を修正します。(Bash?)番号と制約のファイルをチェックし、番号にオフセットを追加するスクリプト
例は次のようになります。
<!--Origin.txt-->
<Tree>
<Node foo="600" bar="50" />
<Node foo="-300" bar="600" />
</Tree>
私は今、完全にバーを無視するwan'tが、例えばかどうかを確認しますfooはゼロより小さい。そうであれば、fooに1000を加えます。そうでない場合は、そのままにしてください。
<!--Output.txt-->
<Tree>
<Node foo="600" bar="50" />
<Node foo="700" bar="600" />
</Tree>
は、私は小さなパイソン/ Javaプログラムを書くことができますが、私はこれを行うには、より高速のbash/sedの/ ...スクリプトがある賭ける;
私のアプローチ。作品も。しかし、大きなファイルでは遅すぎるので、O(n²)がかかります:シェルスクリプトでは、sedですべての値を抽出し、それらを1つずつチェックし、sedで異なる場合は置き換えます。ケントの解決策は良い方法です! – powerbar