在我的文本文件中添加一个新行

Adding a new line to my text file

我想要一个如下所示的文本文件:

三星-SM-G930A
355502070023342
三星-SM-G930A
355502070023342
三星-SM-G930A
无法使用
GI-I9500_TMMARS
354926050849775
GI-I9500_TMMARS
354926050849775
GI-I9500_TMMARS
354926050849775

并在每两行之间添加一个空行。因此,例如,这应该是它的样子

三星-SM-G930A
355502070023342

三星-SM-G930A
355502070023342

三星-SM-G930A
无法使用

GI-I9500_TMMARS
354926050849775

GI-I9500_TMMARS
354926050849775

GI-I9500_TMMARS
354926050849775

我无法让它正常工作。我错过了什么?这是我用来尝试完成此操作的代码。我的想法是增加数组值以捕获数组的所有成员。总会有偶数个数组变量。

$Path44 = "C:\Users\J\Desktop\Script\FinalResults.txt"

$NewContents = Get-Content $Path44

$Var1[0]
$Var2[1]

foreach ($NewContent in $NewContents) {
  $NewContents[0]
  $NewContents[1]
  $Var1++
  $Var2++
  Write-Host "`n"
}

有几种方法可以做到这一点,例如计算行数并在每个偶数行后回显一个空行:

$file = 'C:\path\to\your.txt'

$i = 0
(Get-Content $file) | ForEach-Object {
  $_                        # echo line
  $i++
  if ($i % 2 -eq 0) { '' }  # append empty line on even line numbers
} | Set-Content $file

或者您可以使用正则表达式替换:

$file = 'C:\path\to\your.txt'
(Get-Content $file -Raw) -replace '(.*\n){2}', "`$&`n" | Set-Content $file

正则表达式中的 . 元字符匹配除换行符以外的任何字符,因此 .*\n 匹配直到并包括下一个换行符(即一行)的所有字符。通过对 "line" 表达式进行分组并添加量词,您会得到两行连续的行。将匹配项替换为自身 ($&) 和一个换行符 (`n),这样您就有效地在每两行之后插入了一个空行。