Вы можете попробовать получить все строки, которые не содержат 'java':
Get-Content .\data.txt |
Where-Object {$_ -notlike "*java*"}
Предполагается, что недопустимые строки содержат это слово, но не гарантирует, что возвращаемые строки содержат правильное значение. Вероятно, лучше выполнить положительное совпадение с нужной строкой, например:
Get-Content .\data.txt |
Select-String -Pattern "{(\d+-){4}\d+}"
Это позволит получить строки, содержащие числовой шаблон, независимо от того, как они расположены (так, даже если это 1-я, 9-я, 12-я и 28-я строки).
Наконец, если вам действительно нужна каждая вторая строка, независимо от содержимого, попробуйте оператор модуля (%
):
$i=1
Get-Content .\data.txt |
Where-Object {-not ($i++ % 2)}
хорошая особенность этой техники в том, что вы можете получить каждую 3-ю строку, заменив '2' на '3', или каждую 4-ю строку, заменив '4' и т. Д.