Поиск строк в текстовых файлах и отображение в выходных данных строки, предшествующей одной и следующей (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