Назад | Перейти на главную страницу

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

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

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

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

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

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