Поиск строк в текстовых файлах и отображение в выходных данных строки, предшествующей одной и следующей (cmd.exe)

У меня много больших текстовых файлов. И я ищу (в cmd.exe) список значений в них следующим образом:

findstr /i /n /g:strings.txt 1\*.* >results.txt

где strings.txt - это файл со всеми значениями, которые я ищу, а 1 - это папка, в которой находятся все мои текстовые файлы.

В предыдущей и следующей строках содержится ценная информация, которую я могу найти с помощью findstr. Не могли бы вы помочь мне написать сценарий, который должен содержать 3 строки в results.txt для каждого совпадения?

1 ответ

Powershell. В частности, -Context параметр Select-String Командлет предоставит вам контекст, окружающий выделенный текст.

PS C:\Users\ryan> gc .\temp.txt
1
2
3
4
5
6
7
8
9
10

PS C:\Users\ryan> gc .\temp.txt | Select-String '4' -Context 3

  1
  2
  3
> 4
  5
  6
  7
Другие вопросы по тегам