김 컴퓨터


grep (Global Regular Expression Print)

grep은 파일 내부나 입력값에서 특정 패턴(문자열 또는 정규표현식)을 검색하여 해당 라인을 출력하는 강력한 명령어입니다. 파이프(|)와 함께 사용하여 다른 명령어의 결과물을 필터링할 때 가장 많이 사용됩니다.

[Image of Linux grep command visual explanation showing input text and filtered output]


1. 기본 사용법

grep [옵션] "패턴" [파일명]

2. 주요 옵션

옵션 이름 설명
-i ignore-case 대소문자 무시. 대문자와 소문자를 구별하지 않고 검색합니다.
-v invert-match 반전 검색. 패턴을 포함하지 않는 라인만 보여줍니다.
-r recursive 디렉터리 검색. 현재 폴더 및 하위 폴더의 모든 파일을 뒤져서 찾습니다.
-n line-number 줄 번호 표시. 검색 결과가 몇 번째 줄에 있는지 함께 출력합니다.
-c count 개수 세기. 패턴이 일치하는 라인의 총 개수를 출력합니다.
-E extended-regexp 확장 정규식. |+ 같은 복잡한 정규표현식을 사용할 때 씁니다.

3. 실무 활용 예시

① 파일 내에서 단어 찾기

grep "error" server.log

② 파이프(|)를 이용한 실행 중인 프로세스 필터링

ps aux | grep python
# ps aux 결과 중 'python'이 들어간 줄만 출력

③ 특정 확장자 파일들에서 단어 검색

grep -r "KimComputer" ./projects/*.txt

④ 제외하고 보기 (반전 검색)

로그에서 'DEBUG' 메시지만 빼고 보고 싶을 때 유용합니다.

cat app.log | grep -v "DEBUG"

4. [팁] 정규표현식 기초