In a PowerShell script, to replace the first occurrence of a string in a file I came with the code below, which keeps track in a variable whether the replacement was made.
If it is xml, handle it as xml:
$xml = [xml](gc $original_file)
$xml.SelectSingleNode("//version")."#text" = "6.1.26.p1-SNAPSHOT"
$xml.Save($destination_file)
SelectSingleNode
will select the first version element. Then replace it's inner content and save to the new file. Add a check for the inner content being 6.1.26.p1
if you want to specifically replace only that.
So let's say that you had a file named Test.txt and it's contents were:
one
two
four
four
five
six
seven
eight
nine
ten
And you want to change just the first instance of four to be three instead:
$re = [regex]'four'
$re.Replace([string]::Join("`n", (gc C:\Path\To\test.txt)), 'three', 1)