У меня есть очень большой файл, как показано ниже пример данных.
blah
---BLOCK SEPERATOR ---
blah
blah
there can be variable
number
of blah
MATCHING PATTERN
again
varying
number of
blah
---BLOCK SEPERATOR ---
blah
variable
blah
again
---BLOCK SEPERATOR ---
Теперь я хочу извлечь блок, который содержит только соответствующий шаблон.Поскольку файл очень большой, я использовал readcount 500
, как предлагалось в других вопросах.Также я хотел напечатать соседнюю строку, поэтому я использовал select-string -pattern <Pattern> -context 100,100
.Но они оба не работают вместе, даже если они там работают, я не уверен, сколько разделителей блоков будет записано в 100 строках, поэтому мне придется взять найденные строки и использовать регулярные выражения для них, чтобы получить точный блок.Прямо сейчас я не могу использовать регулярное выражение, поскольку файл очень большой, и для чтения всего файла требуется очень много времени.
В идеале я хочу сопоставить шаблон, а затем извлечь строку до разделителя блоковс обеих сторон.Пожалуйста, обратите внимание, что файл очень большой, readcount
работает, но он не работает в сочетании со строкой выбора.
Пожалуйста, дайте мне знать, если проблема не ясна, и каков может быть подходящий заголовок для вопроса.
Заранее спасибо!