Windows CMD에서 명령어를 실행하다 보면 결과가 너무 길어서 원하는 내용을 찾기 어려울 때가 있습니다.
예를 들어 tasklist를 실행했는데 수많은 프로세스 중 특정 프로그램만 찾고 싶거나, netstat -ano 결과에서 특정 포트 번호가 포함된 줄만 확인하고 싶을 수 있습니다.
또 수백 줄짜리 로그 파일에서 error, failed, warning 같은 특정 문자열이 들어간 줄만 찾아야 하는 경우도 있습니다.
이럴 때 유용한 Windows CMD 명령어가 바로 find와 findstr입니다.
두 명령어 모두 문자열을 검색하는 기능을 제공하지만 사용 방법과 기능에는 차이가 있습니다.
가장 기본적인 예를 보면 다음과 같습니다.
tasklist | find "chrome"
또는:
tasklist | findstr /I "chrome"
처럼 사용할 수 있습니다.
특히 findstr은 여러 문자열 검색, 대소문자 무시, 정규식 기반 검색 등 find보다 다양한 기능을 제공하기 때문에 CMD에서 결과를 필터링할 때 자주 활용됩니다.
이번 글에서는 find와 findstr의 차이부터 파이프(|) 사용법, 특정 프로세스 검색, 포트 검색, 로그 파일에서 오류 찾기, 여러 단어 검색, 대소문자 구분 없이 검색하는 방법까지 실제 예제를 중심으로 알아보겠습니다.
find 명령어란?
find는 입력된 텍스트나 파일에서 지정한 문자열이 포함된 줄을 찾는 Windows 명령어입니다.
기본 형식은 다음과 같습니다.
find "검색할문자열" 파일명
예를 들어 현재 폴더에 log.txt라는 파일이 있고 그 안에서 error라는 문자열을 찾고 싶다면:
find "error" log.txt
를 사용할 수 있습니다.
그러면 error가 포함된 줄이 출력됩니다.
단순하게 특정 문자열이 들어 있는 줄을 찾는 것이 목적이라면 find만으로도 충분합니다.
findstr 명령어란?
findstr 역시 문자열을 검색하는 명령어지만 find보다 다양한 검색 기능을 제공합니다.
기본적인 사용 방법은 다음과 같습니다.
findstr "검색어" 파일명
예:
findstr "error" log.txt
겉으로 보면 find와 비슷합니다.
하지만 findstr에서는 여러 검색 문자열이나 대소문자 무시, 정규식 등 보다 다양한 검색 조건을 사용할 수 있습니다.
따라서 단순 검색은 find, 조금 더 복잡한 검색은 findstr이라고 이해하면 쉽습니다.
find와 findstr의 가장 큰 차이
두 명령어의 기본 목적은 비슷합니다.
find
→ 비교적 단순한 문자열 검색
findstr
→ 여러 조건과 옵션을 이용한 확장된 문자열 검색
CMD에서 실제 문제를 해결할 때는 findstr이 더 유연하게 사용되는 경우가 많습니다.
하지만 단순히 특정 문자열 하나만 포함된 줄을 찾는 상황에서는 find도 간단하고 편리합니다.
CMD에서 파이프 | 는 무엇일까?
find와 findstr을 제대로 활용하려면 파이프 기호를 이해하는 것이 중요합니다.
파이프는 다음 기호입니다.
|
CMD에서 파이프는 왼쪽 명령어의 출력 결과를 오른쪽 명령어의 입력으로 전달하는 역할을 합니다.
예를 들어:
tasklist | find "chrome"
라고 입력하면 먼저 tasklist가 실행됩니다.
그 결과 전체를 화면에 바로 표시하는 대신 find가 전달받아 chrome이라는 문자열이 포함된 줄만 골라서 출력합니다.
즉:
tasklist
→ 실행 중인 프로세스 전체 확인
find "chrome"
→ 그중 chrome 문자열이 들어간 줄 검색
두 명령어를:
|
로 연결한 것입니다.
이 기능을 이해하면 CMD에서 긴 결과를 훨씬 편하게 확인할 수 있습니다.
실행 중인 특정 프로그램 찾기
Chrome이 실행되고 있는지 확인하고 싶다고 가정해보겠습니다.
기본적으로:
tasklist
를 실행하면 실행 중인 프로세스가 많이 표시됩니다.
직접 눈으로 찾기보다 다음과 같이 검색할 수 있습니다.
tasklist | find "chrome"
Chrome 관련 프로세스가 존재한다면 해당 문자열이 포함된 줄이 나타날 수 있습니다.
대소문자를 신경 쓰고 싶지 않다면 findstr을 활용할 수 있습니다.
tasklist | findstr /I "chrome"
여기서 /I는 대소문자를 구분하지 않고 검색하도록 하는 옵션입니다.
findstr /I 옵션 사용법
로그나 명령 결과에서는 Error, ERROR, error처럼 같은 단어가 여러 형태로 나타날 수 있습니다.
기본 검색에서 대소문자 때문에 결과를 놓치고 싶지 않다면 /I 옵션을 사용할 수 있습니다.
예:
findstr /I "error" log.txt
이렇게 하면 대소문자를 구분하지 않고 error 문자열을 검색할 수 있습니다.
실제 로그 분석에서는 매우 자주 사용할 수 있는 옵션입니다.
netstat 결과에서 특정 포트 찾기
이전 글에서 다뤘던 netstat -ano와 findstr을 함께 사용하면 특정 포트를 찾을 때 편리합니다.
예를 들어 8080 포트를 확인하고 싶다면:
netstat -ano | findstr ":8080"
을 사용할 수 있습니다.
결과가 나타난다면 8080과 관련된 네트워크 연결 또는 수신 상태를 확인할 수 있습니다.
예를 들어 결과가 다음과 비슷할 수 있습니다.
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 4321
여기서 마지막 숫자 4321은 PID입니다.
그다음:
tasklist | findstr "4321"
처럼 검색하면 해당 PID와 관련된 프로세스를 확인하는 데 활용할 수 있습니다.
즉, findstr은 다른 CMD 명령어의 결과를 좁혀보는 필터 역할을 합니다.
왜 8080 대신 :8080으로 검색할까?
다음과 같이 검색할 수도 있습니다.
netstat -ano | findstr "8080"
하지만 이 경우 IP 주소나 PID 등 다른 위치에 우연히 8080이라는 숫자가 포함된 줄도 검색될 가능성이 있습니다.
포트를 찾는 것이 목적이라면:
findstr ":8080"
처럼 콜론까지 포함하면 포트 번호를 조금 더 명확하게 검색하는 데 도움이 됩니다.
다만 출력 형식에 따라 검색 결과를 직접 확인하는 과정은 필요합니다.
로그 파일에서 ERROR 찾기
현재 폴더에 server.log 파일이 있다고 가정해보겠습니다.
오류 관련 줄만 확인하고 싶다면:
findstr /I "error" server.log
를 실행합니다.
error 문자열이 들어간 줄만 표시됩니다.
로그가 수천 줄이라도 필요한 내용만 빠르게 확인할 수 있습니다.
특히 서버 프로그램이나 개발 도구의 로그를 분석할 때 유용합니다.
WARNING 검색하기
경고 메시지만 찾고 싶다면:
findstr /I "warning" server.log
처럼 사용합니다.
FAILED 문자열을 찾고 싶다면:
findstr /I "failed" server.log
를 사용할 수 있습니다.
로그에서 어떤 단어가 실제로 사용되는지 알고 있다면 원하는 문자열만 빠르게 검색할 수 있습니다.
여러 문자열을 한 번에 찾는 방법
findstr의 장점 중 하나는 여러 검색어를 사용할 수 있다는 것입니다.
예를 들어 로그 파일에서 error 또는 failed라는 문자열을 찾고 싶다면 검색 조건을 지정해 활용할 수 있습니다.
대표적으로 /C:를 이용해 문자열을 명시할 수 있습니다.
findstr /I /C:"error" /C:"failed" server.log
이렇게 하면 error 또는 failed가 포함된 줄을 찾는 데 사용할 수 있습니다.
warning까지 포함하고 싶다면:
findstr /I /C:"error" /C:"failed" /C:"warning" server.log
처럼 추가할 수 있습니다.
로그에서 대표적인 문제 문자열을 한 번에 찾을 때 유용합니다.
/C: 옵션은 언제 사용할까?
findstr에서는 공백이 포함된 정확한 문자열을 검색할 때 /C: 옵션이 특히 유용합니다.
예를 들어:
Access is denied
라는 문장을 검색하고 싶다면:
findstr /I /C:"Access is denied" log.txt
처럼 사용할 수 있습니다.
공백이 포함된 문장을 하나의 검색 문자열로 명확하게 처리하고 싶을 때 /C:를 활용하면 좋습니다.
특정 문장이 포함된 줄 검색하기
예를 들어 로그 파일에서:
connection failed
라는 문장을 찾고 싶다고 가정하겠습니다.
다음과 같이 사용할 수 있습니다.
findstr /I /C:"connection failed" server.log
이렇게 하면 해당 문장이 포함된 줄을 찾을 수 있습니다.
단순한 단어 하나가 아니라 여러 단어로 구성된 문장을 검색할 때 유용합니다.
특정 문자열이 없는 줄만 찾을 수 있을까?
가능합니다.
findstr에서 /V 옵션을 사용하면 지정한 문자열과 일치하지 않는 줄을 출력할 수 있습니다.
예를 들어:
findstr /V "INFO" server.log
를 실행하면 INFO와 일치하지 않는 줄을 확인하는 데 활용할 수 있습니다.
대소문자까지 무시하고 싶다면:
findstr /I /V "INFO" server.log
처럼 사용할 수 있습니다.
정상적인 INFO 로그가 너무 많고 다른 메시지만 보고 싶을 때 활용할 수 있습니다.
빈 줄을 제외하고 보고 싶을 때
텍스트 파일에 빈 줄이 너무 많다면 findstr의 정규식 기능을 이용해 내용이 있는 줄만 출력하는 방식도 사용할 수 있습니다.
예:
findstr "." log.txt
점(.)은 findstr의 정규식 해석에서 문자와 관련된 패턴으로 동작할 수 있습니다.
다만 findstr의 정규식 기능은 다른 프로그래밍 언어나 전문 정규식 도구와 동일하지 않습니다.
복잡한 정규식이 필요한 경우 PowerShell 등 다른 도구가 더 적합할 수 있습니다.
findstr /N으로 줄 번호 표시하기
검색된 문자열이 파일의 몇 번째 줄에 있는지 확인하고 싶다면 /N 옵션을 사용할 수 있습니다.
예:
findstr /N /I "error" server.log
결과에는 검색된 줄과 함께 줄 번호가 표시됩니다.
로그 파일이 긴 경우 해당 오류가 어느 위치에 있는지 확인하기 편리합니다.
특히 텍스트 편집기에서 해당 위치를 다시 확인해야 할 때 유용합니다.
findstr /B 옵션 사용법
/B는 줄의 시작 부분에서 검색 패턴과 일치하는 내용을 찾는 데 사용됩니다.
예를 들어 로그에서 ERROR로 시작하는 줄을 찾고 싶다면:
findstr /B "ERROR" server.log
처럼 사용할 수 있습니다.
대소문자를 구분하지 않으려면:
findstr /I /B "ERROR" server.log
를 사용할 수 있습니다.
줄 중간에 ERROR가 들어 있는 경우와 줄 맨 앞에 ERROR가 있는 경우를 구분하고 싶을 때 유용합니다.
findstr /E 옵션 사용법
/E는 줄의 끝부분에서 패턴이 일치하는 경우를 찾는 데 사용됩니다.
예:
findstr /E "failed" server.log
처럼 사용할 수 있습니다.
특정 문자열로 끝나는 줄을 찾을 때 활용할 수 있습니다.
findstr /L과 /R 차이
findstr에는 /L과 /R 옵션이 있습니다.
/L
검색 문자열을 일반적인 문자 그대로 처리하는 방식과 관련됩니다.
/R
검색 문자열을 정규식으로 처리합니다.
findstr은 기본적으로 정규식 검색 방식이 적용될 수 있기 때문에 검색 문자열에 특수 문자가 포함되어 있다면 예상과 다른 결과가 나타날 수 있습니다.
문자 그대로 검색하고 싶은 상황에서는:
findstr /L "검색어" 파일명
형태를 고려할 수 있습니다.
정규식 기능을 사용하고 싶다면:
findstr /R "패턴" 파일명
처럼 사용할 수 있습니다.
특정 확장자 파일에서 문자열 검색하기
현재 폴더에 여러 .txt 파일이 있고 모든 텍스트 파일에서 error를 찾고 싶다면:
findstr /I "error" *.txt
처럼 사용할 수 있습니다.
로그 파일 전체를 대상으로 검색하고 싶다면:
findstr /I "error" *.log
처럼 활용할 수 있습니다.
여러 파일을 일일이 열어보지 않고 한 번에 검색할 수 있다는 장점이 있습니다.
하위 폴더까지 문자열 검색하기
findstr의 /S 옵션을 이용하면 현재 디렉터리와 하위 디렉터리를 대상으로 검색할 수 있습니다.
예를 들어 현재 폴더와 그 아래의 모든 .log 파일에서 error를 검색하려면:
findstr /S /I "error" *.log
처럼 사용할 수 있습니다.
파일이 매우 많은 폴더에서는 검색 결과가 많아지거나 시간이 걸릴 수 있으므로 검색 위치를 적절하게 정하는 것이 좋습니다.
검색 결과를 파일로 저장하기
검색 결과가 많다면 화면에서만 확인하지 않고 파일로 저장할 수 있습니다.
예:
findstr /I "error" server.log > errors.txt
이렇게 하면 검색된 결과가 errors.txt에 저장됩니다.
기존 파일 뒤에 결과를 추가하고 싶다면 >>를 사용할 수 있습니다.
findstr /I "error" server.log >> errors.txt
여기서 차이는 다음과 같습니다.
>
새로 저장하거나 기존 내용을 덮어씀
>>
기존 파일 뒤에 내용을 추가
중요한 기존 파일을 대상으로 >를 사용할 때는 덮어쓰기에 주의해야 합니다.
tasklist와 findstr 활용하기
실행 중인 프로그램 중 특정 프로세스를 찾고 싶다면:
tasklist | findstr /I "chrome"
처럼 사용할 수 있습니다.
notepad.exe를 찾고 싶다면:
tasklist | findstr /I "notepad"
처럼 사용합니다.
결과가 없다면 해당 문자열과 일치하는 프로세스가 현재 목록에 없을 가능성이 있습니다.
하지만 프로세스의 실제 실행 파일 이름이 사용자가 생각하는 프로그램 이름과 다를 수도 있으므로 결과가 없다는 이유만으로 프로그램이 실행되지 않았다고 무조건 단정해서는 안 됩니다.
driverquery와 findstr 활용하기
이전에 다룬 driverquery 명령어에서도 findstr을 활용할 수 있습니다.
예:
driverquery | findstr /I "intel"
이렇게 하면 전체 드라이버 목록에서 intel이라는 문자열이 포함된 줄을 찾을 수 있습니다.
상세 결과에서 검색하고 싶다면:
driverquery /v | findstr /I "intel"
처럼 사용할 수 있습니다.
findstr을 익혀두면 다른 CMD 명령어를 사용할 때도 결과를 빠르게 필터링할 수 있습니다.
ipconfig 결과에서도 검색할 수 있을까?
가능합니다.
예를 들어:
ipconfig /all | findstr /I "DNS"
처럼 사용할 수 있습니다.
다만 한국어 Windows에서는 출력되는 항목 이름이 영문 Windows와 다를 수 있습니다.
따라서 먼저:
ipconfig /all
을 실행해서 실제 표시되는 항목 이름을 확인한 뒤 그 문자열을 검색하는 것이 정확합니다.
systeminfo 결과에서 원하는 항목 찾기
systeminfo는 Windows 시스템 정보를 많이 출력합니다.
전체 결과에서 특정 문자열을 찾고 싶다면:
systeminfo | findstr /I "BIOS"
처럼 사용할 수 있습니다.
OS 관련 문자열을 찾고 싶다면:
systeminfo | findstr /I "OS"
처럼 사용할 수도 있습니다.
다만 Windows 표시 언어에 따라 실제 출력되는 항목 이름이 달라질 수 있다는 점은 기억해야 합니다.
find 명령어의 /C 옵션
find에는 /C 옵션도 있습니다.
findstr의 /C:와 혼동하면 안 됩니다.
find에서 /C는 검색 문자열이 포함된 줄의 개수를 세는 데 사용할 수 있습니다.
예를 들어:
find /C "ERROR" log.txt
를 실행하면 ERROR 문자열과 일치하는 줄의 개수를 확인하는 데 활용할 수 있습니다.
즉, find와 findstr은 비슷한 이름의 옵션이라도 의미나 사용 방식이 다를 수 있습니다.
명확하지 않다면:
find /?
findstr /?
를 각각 실행해서 확인하는 것이 좋습니다.
find에서 대소문자를 무시하는 방법
find에서도 /I 옵션을 사용할 수 있습니다.
예:
find /I "error" log.txt
이렇게 하면 대소문자를 구분하지 않고 검색할 수 있습니다.
따라서 단순한 문자열 하나만 찾는다면 find도 충분히 활용할 수 있습니다.
find와 findstr 중 무엇을 사용해야 할까?
아주 단순한 검색이라면:
find
를 사용해도 됩니다.
예를 들어 특정 문자열이 포함된 줄을 확인하거나 그 줄의 개수를 세는 정도라면 find가 간단합니다.
반면 다음과 같은 작업이라면 findstr이 편리합니다.
여러 검색어를 찾고 싶을 때
줄 번호가 필요할 때
하위 폴더를 검색할 때
정규식 검색이 필요할 때
줄 시작 또는 끝을 기준으로 찾고 싶을 때
명령어 결과를 다양한 조건으로 필터링할 때
따라서 CMD 활용 범위를 넓히려면 findstr을 익혀두는 것이 좋습니다.
findstr 검색 결과가 안 나올 때 확인할 것
첫 번째로 검색어 철자를 확인합니다.
두 번째로 대소문자 문제를 확인합니다.
필요하다면:
/I
옵션을 사용합니다.
세 번째로 파일 경로가 맞는지 확인합니다.
파일 이름에 공백이 있다면 따옴표를 사용합니다.
예:
findstr /I "error" "C:\Logs\server log.txt"
네 번째로 검색하려는 파일의 문자 인코딩이나 형식을 확인합니다.
findstr은 모든 텍스트 파일 형식과 인코딩을 동일하게 처리하지 못할 수 있습니다.
특정 파일에서 검색이 제대로 되지 않는다면 PowerShell이나 텍스트 편집기의 검색 기능을 사용하는 것도 방법입니다.
한글 검색이 제대로 안 될 수도 있을까?
파일 인코딩과 CMD 코드 페이지 등에 따라 한글 검색 결과가 예상과 다를 수 있습니다.
특히 UTF-8, UTF-16 등 다양한 인코딩의 파일을 다루는 경우 문제가 발생할 수 있습니다.
따라서 findstr에서 한글 문자열 검색이 제대로 되지 않는다면 검색어가 틀렸다고 단정하지 말고 파일의 인코딩을 먼저 확인하는 것이 좋습니다.
현대적인 로그 처리나 복잡한 텍스트 분석이 필요하다면 PowerShell의 Select-String 같은 기능이 더 적합한 경우도 있습니다.
findstr은 grep과 같은 명령어일까?
Linux를 사용해본 사람이라면 grep을 떠올릴 수 있습니다.
findstr은 Windows CMD에서 텍스트와 명령 결과를 필터링할 때 grep과 비슷한 목적으로 활용할 수 있습니다.
하지만 옵션과 정규식 기능이 완전히 같지는 않습니다.
Linux grep 명령어를 그대로 findstr에 적용하면 동작하지 않을 수 있습니다.
Windows CMD에서는 findstr의 문법에 맞춰 사용해야 합니다.
실제 상황: 8080 포트를 사용하는 프로그램 찾기
findstr을 활용하는 대표적인 실전 사례입니다.
먼저:
netstat -ano | findstr ":8080"
을 실행합니다.
예를 들어 결과 마지막에 PID 4321이 표시됐다고 가정합니다.
그다음:
tasklist | findstr "4321"
을 실행합니다.
그러면 PID 4321과 관련된 프로세스를 확인할 수 있습니다.
이 방식은 개발 프로그램 실행 중:
Port 8080 is already in use
같은 오류가 발생했을 때 유용합니다.
단, PID를 확인한 뒤 프로세스를 종료해야 한다면 해당 프로세스가 무엇인지 반드시 확인해야 합니다.
시스템 프로세스를 PID만 보고 무작정 종료해서는 안 됩니다.
실제 상황: 로그에서 오류와 경고만 추출하기
서버 로그가 너무 길어 오류 관련 내용만 확인하고 싶다고 가정해보겠습니다.
다음과 같이 사용할 수 있습니다.
findstr /I /C:"error" /C:"failed" /C:"warning" server.log
검색 결과를 별도 파일로 저장하고 싶다면:
findstr /I /C:"error" /C:"failed" /C:"warning" server.log > problems.txt
처럼 사용할 수 있습니다.
이제 problems.txt만 열어보면 원본 로그 전체를 읽는 것보다 빠르게 문제 관련 내용을 확인할 수 있습니다.
다만 ERROR, WARNING 같은 단어가 있다고 해서 해당 줄이 반드시 실제 장애 원인을 의미하는 것은 아닙니다.
앞뒤 로그와 함께 확인해야 정확한 원인을 파악할 수 있습니다.
파이프를 여러 번 연결할 수도 있을까?
가능합니다.
예를 들어 명령 결과에서 먼저 특정 조건을 찾고 다시 다른 조건으로 좁히는 방식으로 사용할 수 있습니다.
하지만 파이프를 너무 복잡하게 연결하면 명령어를 이해하기 어려워질 수 있습니다.
처음에는:
명령어 | findstr "검색어"
형태부터 익힌 뒤 필요할 때 조건을 추가하는 것이 좋습니다.
find와 findstr 사용할 때 흔히 하는 실수
첫 번째는 find와 findstr이 완전히 같은 명령어라고 생각하는 것입니다.
기본적인 문자열 검색 목적은 비슷하지만 지원하는 기능과 옵션에 차이가 있습니다.
두 번째는 파이프 기호 | 의 의미를 모르고 명령어를 그대로 외우는 것입니다.
왼쪽 명령의 결과를 오른쪽 명령에 전달한다는 개념을 이해하면 다양한 명령어에 응용할 수 있습니다.
세 번째는 대소문자 때문에 검색 결과를 놓치는 것입니다.
필요하면 /I를 사용합니다.
네 번째는 find의 /C와 findstr의 /C:를 같은 옵션으로 생각하는 것입니다.
사용 목적이 다르므로 주의해야 합니다.
다섯 번째는 로그에서 error가 발견되면 그것이 무조건 문제의 원인이라고 생각하는 것입니다.
검색은 관련 줄을 찾는 과정일 뿐이며 실제 원인은 앞뒤 문맥을 함께 확인해야 합니다.
여섯 번째는 검색 결과가 없으면 데이터 자체가 없다고 단정하는 것입니다.
철자, 대소문자, 파일 인코딩, 실제 출력 이름 등을 함께 확인해야 합니다.
find·findstr 핵심 명령어 정리
파일에서 문자열 검색:
find "error" log.txt
대소문자 무시:
find /I "error" log.txt
검색 문자열이 포함된 줄 개수 확인:
find /C "error" log.txt
findstr 기본 검색:
findstr "error" log.txt
대소문자 무시:
findstr /I "error" log.txt
줄 번호 표시:
findstr /N /I "error" log.txt
여러 문자열 검색:
findstr /I /C:"error" /C:"failed" log.txt
하위 폴더의 로그 검색:
findstr /S /I "error" *.log
특정 문자열을 제외:
findstr /I /V "INFO" log.txt
프로세스 검색:
tasklist | findstr /I "chrome"
8080 포트 검색:
netstat -ano | findstr ":8080"
드라이버 검색:
driverquery | findstr /I "intel"
검색 결과 파일 저장:
findstr /I "error" server.log > errors.txt
전체 find 옵션 확인:
find /?
전체 findstr 옵션 확인:
findstr /?
CMD에서 문자열 검색할 때 추천하는 사용 순서
처음 findstr을 사용한다면 다음 순서로 익히는 것이 좋습니다.
1. 기본 검색
findstr "검색어" 파일명
2. 대소문자 무시
findstr /I "검색어" 파일명
3. 명령 결과에서 검색
명령어 | findstr /I "검색어"
4. 줄 번호 표시
findstr /N /I "검색어" 파일명
5. 여러 검색어 사용
findstr /I /C:"error" /C:"failed" 파일명
6. 검색 결과 저장
findstr /I "검색어" 파일명 > result.txt
이 정도만 익혀도 CMD에서 긴 명령 결과나 로그 파일을 확인하는 시간이 크게 줄어듭니다.
마무리
Windows CMD에서 수많은 출력 결과나 긴 로그 파일 중 원하는 내용만 찾고 싶다면 find와 findstr을 활용할 수 있습니다.
단순한 문자열 검색이라면:
find "검색어" 파일명
을 사용할 수 있습니다.
보다 다양한 조건으로 검색하려면:
findstr /I "검색어" 파일명
이 편리합니다.
특히 다른 CMD 명령어와 파이프를 조합하면 활용도가 크게 높아집니다.
예를 들어 실행 중인 특정 프로그램을 찾고 싶다면:
tasklist | findstr /I "chrome"
특정 포트를 확인하고 싶다면:
netstat -ano | findstr ":8080"
드라이버 목록에서 특정 제조사 관련 문자열을 찾고 싶다면:
driverquery | findstr /I "intel"
처럼 사용할 수 있습니다.
로그 파일에서 오류와 경고를 한 번에 찾으려면:
findstr /I /C:"error" /C:"failed" /C:"warning" server.log
처럼 활용할 수도 있습니다.
find와 findstr의 핵심은 단순히 문자열을 검색하는 데 있지 않습니다.
다른 CMD 명령어가 출력한 수많은 결과 중 지금 필요한 정보만 골라내는 필터로 활용할 수 있다는 점이 가장 큰 장점입니다.
특히 tasklist, netstat, driverquery, systeminfo, ipconfig 같은 명령어와 findstr을 함께 사용하면 전체 결과를 일일이 눈으로 찾을 필요가 없습니다.
처음에는 다음 형태 하나만 기억해도 충분합니다.
명령어 | findstr /I "검색어"
이 기본 구조에 익숙해지면 CMD에서 프로세스, 포트, 시스템 정보, 로그 오류 등을 훨씬 빠르게 찾아낼 수 있습니다.