텍스트 파일에서 원하는 문자열이 들어간 행을 찾아 출력하는 명령어
-> 주로 log파일에서 특정 날짜, 문자로 기록된 error 메시지를 찾는데 유용하게 사용할 수 있다.
1. 옵션
#grep 옵션 [문자열] [파일명]
-b : 문자와 일치하는 줄의 시작점 출력
-c : 문자와 일치하는 줄의 수 출력
-h : 여러 파일에서 문자열을 찾을 때, 파일 이름이 붙는 것을 방지
-i : 대소문자를 구분하지 않는다.
-n : 줄의 번호와 내용을 같이 출력
-v : 문자가 표함되지 않는 행 출력
-w : 문자와 한 단어로 일치해야 출력
-r : 하위 디렉토리에서도 문자를 찾는다.
-A : 특정문자 아래 추가로 여러 행 출력
-B : 특정문자 위 추가로 여러행 출력
2. 자주 사용하는 형식
grep "^문자열" : 문자열로 행이 시작되는 경우 출력
grep "문자열&" : 문자열로 행이 끝나는 경우 출력
grep "문자1\|문자2" : 여러 문자열을 한번에 검색
grep -A2 "문자열" : 해당 문자열이 들어갈 행을 포함해 아래 2행 출력
grep -v "문자열" : 해당 문자열을 제외한 행 출력
grep "문자열" * : 현재 위치의 모든파일(*)에서 특정 문자열 출력
3. 사용 예
a. grep "문자열" [파일이름]
ex) grep "ubuntu" test
=> 임의 생성한 test 파일에서 grep 명령을 이용해 ubuntu 문자가 들어간 행 출력
b. 여러 파일에서 특정 문자열 찾기
-grep "문자열" [파일이름] [파일이름]
ex) grep "ubuntu" test test1 test2
c. 특정 문자를 제외한 행 찾기
- grep -v "문자열" [파일이름]
ex) grep -v "ubuntu" test
d. 두가지 문자열 한번에 찾기
-grep "문자열1\|문자열2" [파일이름]
ex) grep "ubuntu|\study" test
e. 특정 문자열의 위,아래행 추가 출력
★A,B 옵션 뒤의 숫자에 따라 원한는 행을 추가로 출력가능.
-A : 특정문자 아래 추가로 여러 행 출력
-> grep -A2 [문자열] [파일이름]
grep -A2 "study" test
-B : 특정문자 위 추가로 여러 행 출력
-> grep -B2 [문자열] [파일이름]
grep -B2 "ubuntu" test
f. 파이프라인을 이용한 명령 중복사용 후 별도로 저장해보기
- cat [파일이름] | grep -v "문자열" >> newTest
ex) cat test | grep -v "study" >> newTest
'리눅스 > 명령어' 카테고리의 다른 글
리눅스 - mv 명령어 사용법 & 옵션 정리 ( 파일 이동, 이름 바꾸기 ) (0) | 2022.04.12 |
---|---|
ls / ll (파일 목록 조회) (0) | 2022.04.12 |
리눅스 - man 명령어 (0) | 2022.04.12 |
리눅스 cat 명령어 사용법 (파일 확인, 합병, 생성) (0) | 2022.04.08 |
현재 사용하고 있는 나의 계정 확인하기 - logname / whoami / id (0) | 2022.04.08 |