2016-11-28 3 views
0

Я хотел бы взять текстовый файл, который выглядит следующим образом:Добавление новой строки в мой текстовый файл

SAMSUNG-SM-G930A 
355502070023342 
SAMSUNG-SM-G930A 
355502070023342 
SAMSUNG-SM-G930A 
Not Available 
GI-I9500_TMMARS 
354926050849775 
GI-I9500_TMMARS 
354926050849775 
GI-I9500_TMMARS 
354926050849775

и добавить пустую строку между каждыми двумя линиями. Так, например, это должно выглядеть так, как должно выглядеть так:

SAMSUNG-SM-G930A 
355502070023342 

SAMSUNG-SM-G930A 
355502070023342 

SAMSUNG-SM-G930A 
Not Available 

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" 
} 

ответ

2

Есть несколько способов сделать это, например подсчет строк и гулкими пустую строку после каждого четного номера строки:

$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 соответствует всем символам вплоть до следующей строки новой строки (т. строка). Сгруппировав выражение «строка» и добавив квантификатор, вы получите две последовательные строки. Замените матч самим ($&) и новой линией (`n), и вы фактически вставили пустую строку после каждой второй строки.

+0

Это отличный материал. Большое спасибо Ансгару. Ты действительно помог мне. – JRN

 Смежные вопросы

  • Нет связанных вопросов^_^