항상 동일한 접두사를 갖는 파일의 줄 번호를 반환하고 싶지만 나머지는 다를 수 있습니다.
기본 Windows 구성 요소와 명령줄 운영 유틸리티만 사용하여 파일을 검색하여 일치하는 부분의 줄 번호를 반환하는 것이 가능합니까?
내가 찾고 있는 줄의 예는 다음과 같습니다.
</TR></TABLE><TABLE cellspacing...
달라질 수 있는 추가 코드
파일의 줄은 생성기의 출력이므로 파일을 생성할 때마다 무엇이 변경되었는지 또는 변경될 수 있는지 잘 모르겠습니다.
답변1
FINDSTR은 파일에서 텍스트를 검색하고 검색과 일치하는 각 줄을 인쇄하는 데 사용됩니다. 이 /N
옵션을 사용하면 일치하는 각 출력 줄 앞에 줄 번호가 추가됩니다 LineNumber:FullTextOfMatchingLine
.
검색 문자열에 공백이 포함되어 있으므로 해당 /C:"search string"
옵션을 사용해야 합니다. 그렇지 않으면 검색 문자열이 공백으로 구분된 여러 검색어로 해석됩니다.
검색이 줄의 시작 부분과만 일치하기를 원하므로 이 /B
옵션이 필요합니다. 또는 /R
검색을 정규식으로 처리하는 옵션을 추가한 다음 ^
검색 문자열 시작 부분에 줄 시작 앵커를 사용할 수 있습니다.
findstr /b /c:"</TR></TABLE><TABLE cellspacing" "yourFile.htm"
일치하는 줄의 텍스트 없이 줄 번호만 요청합니다. FOR /F를 사용하여 원하는 줄 번호를 추출할 수 있습니다.
for /f "delims=:" %A in ('findstr /b /c:"</TR></TABLE><TABLE cellspacing" "yourFile.htm"') do @echo %A
명령을 배치 파일에 넣으면 백분율을 두 배로 늘려야 합니다.
@echo off
for /f "delims=:" %%A in ('findstr /b /c:"</TR></TABLE><TABLE cellspacing" "yourFile.htm"') do echo %%A
답변2
파일에서 findstr /N strings filename
의 인스턴스를 검색하는 데 사용됩니다 .strings
filename
참고: /N
"일치하는 각 줄 앞에 줄 번호를 인쇄합니다."
자세한 사용법 정보를 보려면 다음을 실행하세요.findstr /?