仅替换第一次出现
Replace only first occurrence
我有一个 PowerShell 脚本可以替代
"version" : "xxx"
与
"version" : "myBuildNumber"
现在我发现我的文件中有多个这样的文件。
我只想替换第一次出现的内容。
我已经尝试过 但它不适用于我的正则表达式。
这是我的脚本:
(Get-Content myFile.txt) -replace '(?<pre>"version"[\s]*:[\s]*)(?<V>"[^\"]*")', "``"$Env:BUILD_VERSION`"" | Out-File myFile.txt
由于您正在修补 JSON 文件,因此不适合使用正则表达式。相反,您应该解析 JSON,访问并更改您想要的 属性 并将其写回:
$filePath = 'your_Path_To_project.json'
$json = (Get-Content $filePath -raw | ConvertFrom-Json)
$json.version = $Env:BUILD_VERSION
$json | ConvertTo-Json -Depth 10 | Set-Content $filePath
我有一个 PowerShell 脚本可以替代
"version" : "xxx"
与
"version" : "myBuildNumber"
现在我发现我的文件中有多个这样的文件。 我只想替换第一次出现的内容。
我已经尝试过
这是我的脚本:
(Get-Content myFile.txt) -replace '(?<pre>"version"[\s]*:[\s]*)(?<V>"[^\"]*")', "``"$Env:BUILD_VERSION`"" | Out-File myFile.txt
由于您正在修补 JSON 文件,因此不适合使用正则表达式。相反,您应该解析 JSON,访问并更改您想要的 属性 并将其写回:
$filePath = 'your_Path_To_project.json'
$json = (Get-Content $filePath -raw | ConvertFrom-Json)
$json.version = $Env:BUILD_VERSION
$json | ConvertTo-Json -Depth 10 | Set-Content $filePath