gpt4 book ai didi

powershell - 替换文件中第一次出现的字符串

转载 作者:行者123 更新时间:2023-12-03 14:13:33 27 4
gpt4 key购买 nike

在 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

最佳答案

假设您有一个名为 Test.txt 的文件,其内容为:

one
two
four
four
five
six
seven
eight
nine
ten

而您只想将 4 的第一个实例改为 3:

$re = [regex]'four'
$re.Replace([string]::Join("`n", (gc C:\Path\To\test.txt)), 'three', 1)

关于powershell - 替换文件中第一次出现的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7449343/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com