반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 도커
- NGINX
- 데브옵스
- 도커 명령어
- C++
- 도커 컨테이너
- 네트워크
- 클라우드
- 운영체제
- 리눅스
- Swift
- ios
- boj
- 부스트코스
- 도커 이미지
- os
- AWS
- 컨테이너
- docker
- swift 클로저
- centOS7
- centOS
- 쿠버네티스
- linux
- k8s
- Python
- devops
- 인프라
- kubernetes
- 프로세스
Archives
- Today
- Total
귀염둥이의 메모
[Linux / CentOS 7] grep 명령어 사용 본문
반응형
grep (Global Reuglar Expression Print)
- 텍스트 파일에서 원하는 문자열이 들어간 행을 찾아 출력하는 명령어
- 주로 log 파일에서 특정 날짜, 문자로 기록된 error 메시지를 찾는데 유용하게 사용
grep [option] [정규표현식(문자열)] [file(s)]
*입력으로 파일명이 오지 않으면 표준입력으로 부터 입력을 받음
주요 옵션
옵션 (대소문자 구분) | 의미 |
-b | 문자열이 포함된 행의 시작점 출력 |
-c | 문자열이 들어있는 행의 개수 출력 |
-i | 대소문자 구분하지 않음 |
-n | 행의 번호와 내용을 같이 출력 |
-v | 문자열이 포함되지 않은 행 출력 |
-l (소문자 L) | 문자열을 포함하는 파일의 이름 출력 |
-w | 하나의 단어로 포함된 행 출력 |
-r | 하위 디렉토리의 파일까지 모두 출력 |
정규 표현식 메타 문자
메타문자 | 기능 | 예시 | 결과 |
^ | 행의 시작 지시자 | '^hello' | hello 로 시작하는 모든 행 |
$ | 행의 끝 지시자 | 'hello$' | hello 로 끝나는 모든 행 |
. | 하나의 문자 대응 | 'h..o' | h와 o 사이에 딱 두 글자가 있는 단어 포함 행 |
.* | 0 이거나 그 이상의 문자 (=all) | 'hel.*o' | helo, helao, hello, helabco, heladsfsfo 등 |
* | 앞 문자가 하나이거나 반복됨 | 'hel*o' | helo, hello, helllo, hellllo, ... , helllllllllllllllllo 등 |
| | 또는(or) | 'ab|cd|ef' | 셋 중 하나라도 포함되어 있는 행 |
[] | 문자 리스트 중의 한 문자를 나타냄 | 'abc[123]' | abc1, abc2, abc3 을 포함한 행 |
[0-9] | 0, 1, 2, 3, ... 또는 9 | '[0-9]' | 0, 1, 2, 3, ... 또는 9 를 포함한 행 |
[^] | 제외한 모든 문자 | '[^1-3]' | 1,2,3 으로 조합하지 않은 문자가 하나라도 있는 경우 |
\ | 지정문자 의미를 무시한다 | 'hello\.\[abc\]' | hello.[abc] 를 포함한 행 (. 이나 [] 패턴식 무시하고 문자 그대로) |
\< | 단어의 시작 지시자 | '\<hello' | hello로 시작하는 단어를 포함하는 행 |
\> | 단어의 끝 지시자 | 'hello\> | hello로 끝나는 단어를 포함하는 행 |
x\{m\} | 문자 x를 m번 반복한다 | 'o\{5w\}' | 문자 o가 5회 연속적으로 나오는 모든 행 |
예시
------------- 대상 파일 : /usr/share/dict/words -------------
대문자 CAT 만 있는 라인을 검색
# grep "^CAT$" /usr/share/dict/words
대문자 CAT 가 단어로 있는 라인을 검색
# grep -w 'CAT' /usr/share/dict/words
대문자 C로 시작해서 T 로 끝나는 라인을 검색
# grep '^C.*T$' /usr/share/dict/words
대문자 C와 T 사이에 3글자가 더 있는 라인을 검색
# grep 'C...T' /usr/share/dict/words
또는
# grep 'C.\{3\}T' /usr/share/dict/words
대소문자 구분 없이 cat 가 단어로 있는 라인을 검색
# grep -iw 'CAT' /usr/share/dict/words
대문자 CAT 가 없는 라인을 검색
# grep -v 'CAT' /usr/share/dict/words
------------- 대상파일 : /etc/ssh/sshd_config -------------
공백문자가 있는 라인을 검색
# grep ' ' /etc/ssh/sshd_config
$기호가 있는 라인을 검색
# grep '\$' /etc/ssh/sshd_config
라인에 아무런 문자가 없는 라인을 제외하고 검색
# grep -v '^$' /etc/ssh/sshd_config
# 문자로 시작하는 라인을 제외하고 검색
# grep -v '^#' /etc/ssh/sshd_config
대문자만 있는 라인을 검색
# grep '^[[:upper:]][[:upper:]]*$' /usr/share/dict/words
반응형
'Infra & Devops > Linux' 카테고리의 다른 글
[Linux / CentOS 7] 아카이브 파일, tar 명령어 (0) | 2021.08.21 |
---|---|
[Linux / CentOS 7] 아이노드 (i-node) / 하드 링크, 심볼릭 링크 (0) | 2021.08.21 |
[Linux / CentOS 7] 리다이렉션 (Redirection) & 파이프 (Pipe) (0) | 2021.08.21 |
[Linux / CentOS 7] shell에서 인용부호 (", ', `) 차이점 (0) | 2021.08.21 |
[Linux] 주요 디렉토리 구조 (0) | 2021.08.21 |
Comments