在PowerShell腳本中,要替換文件中第一次出現的字符串,我隨附下面的代碼,它跟蹤變量是否進行替換。替換文件中字符串的第一次出現
有沒有更優雅(習慣)的方式來做到這一點?
$original_file = 'pom.xml'
$destination_file = 'pom.xml.new'
$done = $false
(Get-Content $original_file) | Foreach-Object {
$done
if ($done) {
$_
} else {
$result = $_ -replace '<version>6.1.26.p1</version>', '<version>6.1.26.p1-SNAPSHOT</version>'
if ($result -ne $_) {
$done = $true
}
$result
}
} | Set-Content $destination_file
我甚至沒有注意到它是XML。那樣的話,肯定是這樣做的。 – EBGreen