Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


В случае с PowerShell можно было бы обойтись "многострочной" регуляркой, в смысле захватываем строку соответствующую критерию и следующую строку за ней. Это будет работать за рядом оговорок, но можно сделать несколько иначе.
Код: Выделить весь код
$indexes = ($content = Get-Content .\file.txt -Encoding utf8) |
Select-String txt1 | ForEach-Object {++($$ = ,(--$_.LineNumber) * 2)[1];$$}

0..($content.Length - 1) | Where-Object {$indexes -notcontains $_} |
ForEach-Object {$content[$_]} | Out-File .\cleaned.txt -Encoding utf8
В более поздних нежели v2 версиях PowerShell, данный подход можно еще более сократить за счет оператора -notin, методов расширений и т.д., в результате чего решение будет похоже скорее на black magic, примерно такое же как в случае с "многострочной" регуляркой.
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:11, 23-08-2019 | #19