[Linux] 리눅스 grep 명령어 사용법, 리눅스 파일 내 문자열 찾기
- OS/[Linux]
- 2023. 4. 20.
grep 명령어
grep 명령어는 Global Regular Expression Print의 줄임말로 특정 파일에서 특정 문자열을 찾을 때 사용한다.
이때 grep 명령어는 단순히 문자열의 일치 여부만을 검사해서 찾는 게 아닌, 정규 표현식(Regular Expression)에 의한 패턴 매칭 방식을 사용한다.
이러한 grep 명령어는 보통 다른 명령어들과 조합해서 사용하는 경우가 많다.
grep [옵션] [패턴] [파일명]
자주 사용하는 옵션
- -c : 일치하는 행의 수 출력
- -i : 대소문자 구별하지 않음
- -v : 일치하는 않는 행만 출력
- -n : 해당 문자열이 포함된 행의 번호를 함께 출력
- -l : 패턴이 포함된 파일의 이름 출력
- -H : 패턴이 포함된 파일의 이름과 함께 내용 출력
- -w : 단어와 일치하는 행만 출력
- -x : 라인과 일치하는 행만 출력
- -r : 하위 디렉토리를 포함한 모든 파일에서 검색
- -m 숫자 : 최대로 표시될 수 있는 결과 제한
- -E : 찾을 패턴을 정규표현식으로 검색
- -F : 찾을 패턴을 문자열로 검색
여러 가지 예시
위와 같은 test.log 파일이 있다고 하자.
1. 단순 grep
$ grep "Linux" test.log
# test.log 에서 "Linux" 문자열 검색
2. grep -i
$ grep -i "linux" test.log
# test.log 에서 "linux" 문자열 대소문자 상관없이 검색
-i 옵션을 주지 않으면 "linux"와 "Linux"를 다른 문자열로 본다.
3. grep -v
$ grep -v "Linux" test.log
# test.log 파일에서 "Linux" 문자열이 포함되지 않은 행 출력
4. grep -l, grep -H
$ grep -l "Linux" *
# 현재 디렉토리의 모든 파일 중 Linux 문자열을 포함한 파일명 출력
$ grep -H "Linux" *
# 현재 디렉토리의 모든 파일 중 Linux 문자열을 포함한 파일명과 함께 내용 출력
여기서 [파일명] 위치에 *을 이용해 모든 파일을 대상으로 결정했다.
5. 정규표현식
grep은 정규표현식을 사용해 문자열을 검색할 수 있다.
다양한 정규표현식이 있지만 간단하게 몇 개만 소개하겠다.
$ grep "Line[1-3]" test.log
# "Line1", "Line2", "Line3" 을 검색
$ grep -F "Line[1-3]" test.log
# -F 옵션 사용시 [] 와 같은 정규표현식을 일반 문자로 인식
$ grep "^L" test.log
# 'L'로 시작하는 행을 출력
$ grep "de.*s" test.log
# "de"로 시작하고 "s"로 끝나는 행을 출력
6. 명령어 조합
$ ps -ef | grep terminal
# 현재 실행 중인 프로세스 중 terminal 검색
grep 명령어는 다른 명령어와 조합해서 사용할 수 있다.
예를 들어 현재 프로세스를 보는 ps -ef 명령어의 결과를 '|' 파이프라인으로 받아 terminal이라는 문자열을 포함하는 프로세스를 검색할 수 있다.
이 밖에도 tail, netstat 등의 명령어와 조합할 수도 있다.
참고
1.https://coding-factory.tistory.com/802
2. https://devmoony.tistory.com/115
반응형
'OS > [Linux]' 카테고리의 다른 글
[Linux] 리눅스 메모리 확인 하는 법, 리눅스 free 명령어 사용법 (0) | 2023.05.04 |
---|---|
[Linux] 리눅스 netstat 명령어 사용법, 리눅스 네트워크 상태 확인하기, 리눅스 netstat 설치 (0) | 2023.05.02 |
[Linux] 버츄얼박스(VirtualBox) 우분투 터미널 안 열림 해결 방법 (10) | 2023.04.19 |
[Linux] 리눅스 tail 명령어 사용업, 리눅스 실시간 로그 보는 법 (0) | 2023.04.18 |
[Linux] 윈도우10 리눅스(우분투) 가상머신 설치 하는 법 (4) | 2023.04.13 |