Есть несколько способов приблизиться к этому.
Получение первых трех строк текстового файла:
(Get-Content File.txt)[0..2]
Выбор строкиВы хотите вывести:
((Get-Content File.txt -raw) | Select-String -pattern "(?s)some text.*?text 1").matches.value
Определение номеров строк плохих линий и затем исключение их:
$File = Get-Content File.txt
$FirstBadLine = $File.IndexOf("other text")
$LastBadLine = ($file | select -skip $firstbadline).IndexOf("text 1")+$firstbadline
$file[0..($firstbadline-1)],$file[($lastbadline+1)..$file.count]
Определение первой плохой линиии пропуская известное количество строк оттуда:
$File = Get-Content File.txt
$NumberOfBadLines = 5
$FirstBadLine = $File.IndexOf("other text")
$file[0..($firstbadline-1)+($firstbadline+$NumberOfBadLines)..$file.count] | Set-Content File.txt