명령어/Linux

[리눅스] grep 문자열 검색

jykim23 2026. 7. 8. 23:11
반응형

부제: 파일에서 원하는 문자열이 든 줄만 찾기

grep error app.log       # 'error'가 든 줄만
grep -i error app.log    # 대소문자 무시
grep -rn error .         # 현재 폴더 전체 재귀 + 줄번호
$ grep -n error app.log
14:2026-06-26 error: connection refused
88:2026-06-26 error: timeout

-i는 대소문자 무시, -n은 줄 번호, -r은 하위 폴더까지 재귀, -v는 그 단어가 없는 줄만.
파이프와도 단짝이다. ps aux | grep nginx처럼 다른 명령어 출력에서 원하는 줄만 뽑을 때 많이 쓴다.

이렇게도 쓴다

매칭된 줄의 앞뒤 문맥까지 같이 본다(앞 2줄, 뒤 2줄).

grep -B2 -A2 "ERROR" app.log

 

몇 번 나오는지 개수만 센다.

grep -c "404" access.log

 

여러 단어를 한 번에 찾는다.

grep -E "WARN|ERROR" app.log

 

설정 파일에서 주석과 빈 줄을 빼고 알맹이만 본다(grep 두 번 조합).

grep -v "^#" nginx.conf | grep -v "^$"

 

예전에 쳤던 명령어를 다시 찾는다(history 조합).

history | grep ssh

 

내용 말고, 그 단어가 든 파일 이름만 뽑는다.

grep -rl "TODO" src/
반응형