skrypt wsadowy do drukowania poprzednich i następnych wierszy szukanego ciągu w pliku tekstowym
Mam skrypt wsadowy, który wydrukuje całą linię szukanego ciągu w pliku tekstowym.
for %%i in (log.txt) do (
FINDSTR /G:pattern.txt %%i >> output.txt
)
Przykład: pattern.txt zawiera szukany ciągERROR
a poniżej jest przykładowy tekst w 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
Powyższy skrypt wsadowy wydrukuje każdy wiersz tekstu za każdym razem, gdy znajdzie ciągERROR
w log.txt Więc output.txt będzie wyglądać tak, jak poniżej
2013-06-30 02:17:55,578 ERROR error occurred and message is ""
Jak mogę wydrukować tylko poprzednie i następne wiersze szukanego ciągu, jak poniżej:
2013-06-30 02:17:55,578 DEBUG Element value: 1
2013-06-30 02:17:55,578 DEBUG bit version: 8
Z góry dziękuję.