Shadow4
Linux 분류

리눅스 grep 명령어

작성 및 조회 정보

관리자 조회 1,168
목록

본문

리눅스에서 grep 명령어란?

​

​

입력으로 전달된 파일의 내용에서 특정 문자열을 찾는 명령어입니다.

​

​

단순 문자열의 비교로 같은지(equal)만을 판단하는 것이 아닌 다양한 방식으로 복잡하고 효율적인 사용 가능합니다.

 

grep 형태

   grep [옵션] [패턴] [파일명]

grep 종류
grep
egrep
fgrep

 

  • grep 문자열로 찾기

grep ‘test’ 파일명1, 파일명2

​

->1개 이상의 파일에서 ‘test’ 문자열 찾기

grep ‘test’ *

​

-> 현재 디렉터리 내에 있는 모든 파일(*)에서 ‘test’ 문자열 찾기

grep ‘test’ *.log

​

-> 특정 확장자 가진 모든 파일에서 ‘test’ 문자열 찾기

 

  • grep 정규 표현식 

grep ‘^[ab]’ 파일명

​

-> 특정 파일에 문자가 하나라도 포함되어 있는 행 모두 찾음 한 행에 a 또는 b가 들어있음 출력

grep ‘a*’ 파일명

​

-> 특정 파일에서 a로 시작하는 모든 행 모두 찾음

grep ‘a … t’ 파일명

​

-> a로 시작해서 t로 끝나는 5자리 행 모두 찾음

grep [a-d] 파일명

​

-> a, b, c, d가 들어가는 행 모두 찾음

grep [tT]est 파일명

​

-> test / Test가 들어가는 행 모두 찾음

grep ‘test’[0-9] 파일명

​

-> test14 등의 형태가 있는 행 모두 출력

 

  • grep 옵션

 

옵션 설명
-c

일치하는 행의 수 출력 $ grep -c 'test' test_file02

-i

대소문자 구별 안 함 $ grep -i 'test' test_file02

-v

일치하지 않는 행 출력

-n

포함된 행의 번호 함께 출력

-l

문구 포함된 파일 이름 출력 $ grep -l 'test' test_file02

-w

단어와 일치하는 행 출력

-x

라인과 일치하는 행 출력

-r

(recursive) 하위 디렉터리 포함한 모든 파일에서 검색 → $ grep -r 'test' ./

-m 숫자

결과 수 제한 $ grep -m 2 ‘test’ 파일명 → 파일명에서 test가 들어간 행을 위에서 2개만 출력

-E

찾을 패턴 정규 표현식으로 찾음

-F

찾을 패턴 문자열로 찾음

-B 숫자    

(before) 검색 문자를 기준으로 위의 행 추가 출력 grep -B 3 'test' test_file02 ⇒ test가 들어간 행의 앞 3행 추가 출력

-A 숫자

(After) 검색 문자를 기준으로 아래의 행 추가 출력 grep -A 3 'test' test_file02 ⇒ test가 들어간 행의 3행 추가 출력

-C 숫자

(center) 검색 문자 행 기준으로 위, 아래 행 추가 출력 grep -C 1 'test' test_file02 ⇒ test가 들어간 행의 앞, 뒤 1행씩 추가 출력

 

1개의 파일에서

여러개 문자열 찾기

 

cat 파일명 | grep ‘test’ | grep ‘file’

​

-> |(파이프) : 명령어 여러개 사용 가능 → test가 있는 행에서 file이 들어간 행 출력

 

grep ‘test’ 파일명 > new 파일명

​

-> grep 결과를 new 파일에 저장함

 

관련자료

댓글 0개
등록된 댓글이 없습니다.
목록

압데이트 공지


후원 리스트


최근글


새댓글


  • 댓글이 없습니다.
datanala youtube


알림 0