пакетный скрипт для печати предыдущей и следующей строк строки поиска в текстовом файле
У меня есть пакетный скрипт, который будет печатать всю строку строки поиска в текстовом файле.
for %%i in (log.txt) do (
FINDSTR /G:pattern.txt %%i >> output.txt
)
Пример: pattern.txt содержит строку поискаERROR
и ниже образец текста в log.txt
2013-06-30 02:17:55,562 INFO Service started
2013-06-30 02:17:55,578 INFO Sending mail...
2013-06-30 02:17:55,578 DEBUG Element value: 1
2013-06-30 02:17:55,578 ERROR error occurred and message is ""
2013-06-30 02:17:55,578 DEBUG bit version: 8
2013-06-30 02:17:55,578 INFO Service stopped
Пакетный скрипт выше будет печатать каждую строку текста всякий раз, когда находит строкуERROR
в log.txt Итак, output.txt будет выглядеть так, как показано ниже
2013-06-30 02:17:55,578 ERROR error occurred and message is ""
Как я могу напечатать только предыдущие и следующие строки строки поиска, как показано ниже:
2013-06-30 02:17:55,578 DEBUG Element value: 1
2013-06-30 02:17:55,578 DEBUG bit version: 8
Заранее спасибо.