PowerShell - 在另一个字符串后面的下一行的文本文件中插入字符串

时间:2014-04-17 05:28:19

标签: powershell

这看起来很简单,但我无法绕过它/找到一个覆盖它的帖子

我正在尝试使用PowerShell修改文本(配置)文件 找到特定字符串(A)出现的位置,然后将另一个字符串(B)添加到下一行。保留字符串(A)出现的行

所以问题是我不能做一个简单的查找和替换,因为字符串(A)出现的行后面有其他文本

这是希望有人比我知道的技巧更聪明。干杯

1 个答案:

答案 0 :(得分:3)

# Let's say my file test.txt contains
# Line1
# Line2
# Line3
# Line4

$lines = Get-Content test.txt
$pos = [array]::indexof($lines, $lines -match "Line3") # Could use a regex here
$newLines = $lines[0..($pos -1)], "MyNewLine3", $lines[$pos..($lines.Length - 1)]

$newLines | Set-Content test.txt