Linux

[Linux] grep 명령어

twoDeveloper 2021. 8. 11. 19:08

■ grep

$ grep ['검색할 문자'] [File]

- 특정 문자열을 검색해서 존재하는 라인을 출력하는 용도이다.

- 특정 파일에 대한 정보를 뽑아서 사용 가능하다.

- 일반적으로 따옴표는 큰 의미가 없다.

   단, 띄어쓰기 등의 특수한 기능의 기호가 함께 사용될 때 필요하다.

" " ₩, $, \ 기호 사용시 기능 활성화 
' ' 위 3가지 기호 기능 제거

 

■ 정규표현식 (grep)

- grep 명령어는 파일 등의 내용에서 특정 패턴 검색 시 사용하며 정규표현식을 이용해서 검색 가능하다.

^ 패턴의 앞에 입력하면 해당 패턴이 라인의 시작
$ 패턴의 뒤에 입력하면 해당 패턴이 라인의 끝
. 임의의 문자 1개
* 앞에 오는 문자의 개수가 0 ~ 무한
\ 뒤에 오는 문자의 기능을 제거

 

■ grep 활용한 실습

□ 간단한 문제 풀이

$ grep -i [문자] [File]
$ grep '[Cc][Aa][Tt]' [File]

- -i  옵션을 통해 대/소문자 구분 없이 문자가 포함된 라인을 출력해준다.

- cat이라는 단어를 대/소문자 구분 없이 검색한다고 가정했을 때, 두 방식은 같은 검색 방법이다.

 

$ grep ^CAT [File]

- CAT(문자)가 앞부분에 오는 경우

 

$ grep CAT$ [File]

- CAT(문자)가 뒷부분에 오는 경우

 

 

□ 정규표현식 / 옵션

$ grep '^CAT$' [File]

- 대문자 CAT(문자) 만 존재하는 라인 검색

 

$ grep -w 'CAT' [File]

- -w 옵션을 통해 CAT(문자)이 존재하는 라인 검색

 

$ grep '^C.*T$' [File]

- 정규식을 활용하여 C로 시작해서 T로 끝나는 라인을 검색

 

$ grep 'C...T' [File]
$ grep 'C.\{3\}T' [File]

- 대문자 C와 T 사이에 3글자가 더 존재하는 라인 검색

 

$ grep -iw 'cat' [File]

- 옵션 -iw 를 통해 대/소문자 구분 없이 cat(문자)이 존재하는 라인 검색

 

$ grep -v 'CAT' [File]

- 옵션 -v 를 통해 CAT(문자)가 존재하지 않는 라인 검색

'Linux' 카테고리의 다른 글

[Linux] DNS Server  (0) 2021.08.23
[Linux] 작업 스케줄링  (0) 2021.08.17
[Linux] 사용자 관리  (0) 2021.08.15
[Linux] touch, mv, cp, rm 명령어  (0) 2021.08.11
[Linux] ls, man 명령어  (0) 2021.08.11