如何替换特定的行号

时间:2017-04-20 12:41:56

标签: powershell

我尝试使用PowerShell替换txt文件中的第11行。

首先我尝试更换一个特定的单词,但它改变了太多:

$output= (Resolve-DnsName -name name1).IPAddress 

(Get-Content "C:\test\test.txt") -replace "IPADDRESS=","IPADDRESS=$output"  | Set-Content C:\test\test.txt

2 个答案:

答案 0 :(得分:3)

如果要替换某一行内的某些内容,可以使用Get-Content cmdlet返回的字符串 array 上的索引运算符:

$content = Get-Content "C:\test\test.txt"
$content[10] = -replace "IPADDRESS=","IPADDRESS=$output" 
$content | Set-Content C:\test\test.txt

答案 1 :(得分:1)

对于发现上述答案对他们不起作用的任何人,此方法有效:

$content = Get-Content "C:\test\test.txt"
$contentUpdate = $content[10] -replace "IPADDRESS=","IPADDRESS=$output" 
Set-Content C:\test\test.txt $contentUpdate