2016-03-23 10 views
1

私は、再帰的にフォルダ構造を調べ、多数のpom.xmlファイルを更新しようとしています。できるだけ正確にしようとしているので、バージョン番号を更新したいだけです。私は何を変えたいのです:イム コマンドラインで特殊文字を再帰的に検索して置換する

<version>5.2.0</version> 

<version>5.1.1</version> 

私はこれと同じバージョン番号が上で表示されることがあります任意のコメントや依存関係を置き換えるいけないことを確認するバージョンタグを含めるしようとしています。

「<」、「/」などの文字は問題を引き起こしていると思います。

コマンドラインでこのようなエスケープ文字を使った経験はあまりないので、助けてください。

私はWindows 7マシンですが、Git BashとCygwinがインストールされています。

答えて

2

"fart.exe"というツールを使用しています。置換えが簡単な場合です。 https://sourceforge.net/projects/fart-it/

正規表現が必要な場合は、パワーシェルを使用します。ここ は、すべてのXMLファイル内のバージョン文字列を置き換える例(バッチファイルとパワーシェルのミックス)です:

[replace.bat]:

SET version=1.2.3 
for /r %%x in (*.xml) do ( 
    powershell -Command "& {(Get-Content '%%x') | Foreach-Object { $_ -replace '(''version''\s?\:\s?'')(\d*\.\d*\.\d*)('')', '${1}%version%${3}' } | Set-Content '%%x'}" 
) 
+0

ありがとうございました。 Fart.exeは完璧に動作しました。 –

関連する問題