OS/Windows2019. 10. 12. 12:41

cmd 창에서 findstr 명령어를 사용하면 패턴에 일치하는 행을 조회할 수 있다. 아쉽게도 findstr 명령어는 grep 명령어처럼 다양한 옵션을 지원하지 않는다. cmd 스크립트로 기능을 확장해보자.


아래와 같이 cmd 스크립트를 작성하자. 스크립트를 수행하면 log.txt 파일에서 error가 포함된 행과 이후 4행을 조회할 수 있다.

@echo off
for /f "delims=:" %%a in ('findstr /in "error" C:\log.txt') do set /a found=%%a
if not defined found (echo "error" not found&goto:eof)
set /a line1=found
set /a line2=found+1
set /a line3=found+2
set /a line4=found+3
set /a line5=found+4
for /f "tokens=1*delims=:" %%a in ('findstr /in "^" C:\log.txt') do (
    if %%a==%line1% >> output.txt echo(%%b
    if %%a==%line2% >> output.txt echo(%%b
    if %%a==%line3% >> output.txt echo(%%b
    if %%a==%line4% >> output.txt echo(%%b
    if %%a==%line5% >> output.txt echo(%%b
)


Posted by 정희락_