2015年2月13日金曜日

【PowerShell】テキストファイルの内容を正規表現で置換する


やりたいこと

JenkinsでC#コードを自動ビルドするときにバージョンを書き換えたかった。
AssemblyInfo.csを修正すればいいことは知ってたのでPowerShellでやってみた。
正規表現も使えるしちょー楽。

元ファイル(一部)

[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

PowerShellスクリプト

#ファイル読み込み
$filePath = "AssemblyInfo.cs"
Get-Content $filepath | tee -Variable fileContent

#正規表現で置換&保存
$input = '(Assembly.*Version\()\".*\"(\))'
$replacement = '$1"1.2.3.4"$2'
$fileContent -replace $input, $replacement | tee -FilePath $filepath

結果ファイル(一部)

[assembly: AssemblyVersion("1.2.3.4")]
[assembly: AssemblyFileVersion("1.2.3.4")]

スポンサーリンク

Related Posts Plugin for WordPress, Blogger...