Я ищу способ ускорить (Windows 10) команду PowerShell "Where-Object" для отсортированного массива.
В конце массив будет содержать тысячи строк из файла журнала. Все строки в файле журнала начинаются с даты и времени и сортируются по дате / времени (= всегда добавляются новые строки).
Следующая команда будет работать, но она чрезвычайно медленная и неэффективна для отсортированного массива:
$arrFileContent | where {($_ -ge $Start) -and ($_ -le $End)}
Вот (сильно упрощенный) пример:
$arrFileContent = @("Bernie", "Emily", "Fred", "Jake", "Keith", "Maria", "Paul", "Richard", "Sally", "Tim", "Victor")
$Start = "E"
$Ende = "P"
Ожидаемый результат: «Эмили», «Фред», «Джейк», «Кит», «Мария», «Пол».
Я предполагаю, что с использованием «вложенных интервалов» это должно быть намного быстрее, например «найти первую запись, начинающуюся с« E »или выше и первую, начинающуюся с« P »или ниже, и вернуть все записи между ними.
»
Я полагаю, что для этого должно быть простое решение powershell или .Net, поэтому мне не придется кодировать его самому, правильно?