# e.g. server.log 파일에서 "error"가 포함된 모든 줄을 출력grep"error" server.log
# e.g. 파일을 실시간으로 읽으면서, "error"가 포함된 줄만 출력tail-f ./server.log | grep"error"
AND 조건 검색
두 개 이상의 조건을 만족하는 AND 조건 검색
파이프(|)를 사용해 두 조건을 묶는다.
위 명령어를 해석하면 server.log 에서 “error” 가 포함된 줄을 먼저 찾고,
그 중 “database” 가 포함된 줄을 다시 한 번 필터링 하는 것이다.
1
2
3
4
5
# e.g. server.log 파일에서 "error"와 "database" 를 동시에 포함하는 줄 출력grep"error" server.log | grep"database"# 실시간 출력에서 AND 검색tail-f ./server.log | grep"error" | grep"database"
# e.g. "error" 또는 "database" 를 포함하는 줄 출력grep-e"error"-e"database" server.log
# 실시간 출력에서 OR 검색 tail-f ./server.log | grep-e"error"-e"database"# --regexp 와 동일tail-f ./server.log | grep--regexp"error"--regexp"database"
NOT 조건 검색
특정 조건을 제외한 나머지를 검색하는 옵션
-v 옵션 (--invert-match 와 동일) 을 사용한다.
“일치 반전” 이라고 직역할 수 있다.
1
2
3
4
5
6
7
8
9
10
11
# e.g. "error" 줄을 제외하고 출력grep-v"error" server.log
# 실시간 출력에서 NOT 검색tail-f ./server.log | grep-v"error"# --invert-match 와 동일tail-f ./server.log | grep--invert-match"error"# 두 개 이상의 not 조건은 -v 옵션을 파이프로 묶으면 됨cat ./server.log | grep-v"error" | grep-v"database"
Comments