[shell] grep(egrep,fgrep) -아랑

아래 시스템 관리상 꼭 필수적인 명령어 몇개를 소개하고자 합니다. 시스템

관리자라는 흔히 사용하는 명령어 들입니다. 하지만 대부분이 명령어의 기

능을 다 활용하진 않으시는거 같더군요.

여기에 소개하는 내용이 이 명령의 들의 모든 기능이라고 말하진 않습니다.

다만..이 명령어를 이용하여 시스템을 관리하는 방법을 보다 깊게 소개하고

자 합니다. 어떤분에겐 이정도는 기초이자 기본이라 생각하시는 분들도 계실

것이고 어떤분에겐 자신의 기반을 더더욱 확장시킬수 있는 좋은 자료가 되실

거라 생각이 됩니다. 그럼..천천히 한번 읽어보세요.

                            작성자 : 서 진우 (alang@sysmng.com)

————————————————————————-

1. 시스템 관리 명령 [1] –  grep (egrep,fgrep)

다들 아시다 시피 grep 은 입력에서 주어진 패턴을 포함하고 있는 줄을 찾아

주는 명령이다. 많은 시스템 관리 명령들과 파이프(pipe)를 이용해서 사용할

수 있다. 흔히 사용하는 것은 프로세스 확인이다.

# ps aux | grep httpd

위와 같이 현재 시스템의 프로세스중 httpd 만 검색해 낸다.

만일 pipe 를 이용하여 검색할경우 검색 패턴이 한개 이상일 경우엔 egrep

을 이용하여 검색할수 있다.

# ps aux | egrep ‘httpd|mysql’

이밖에 grep 는 file 내용증에 특정 pattern 이 들어 있는 행을 찾아서 출력

해 준다 option 을 이용하여 보다 다양한 pattern을 선택하여 검색할수 있다.

option :

———————————————-

-i : 대소문자 구별을 하지 않는다.

-v : pattern 을 포함하지 않는 행만 출력한다.

-n : 행번호를 출력한다.

-l : 파일명만 출력한다.

-c : 패턴과 일치하는 라인의 갯수만 보여준다.

———————————————-

몇가지 예를 들어 보겠다.

# grep [option] “pattern” 파일명

대표적인 사용방법이다. 파일에 pattern 이란 단어를 포함하는 행을 출력한다.

# grep -v “^[ ^I]*$” 파일명

위는 공백을 제거한 파일 내용 살펴보기

# grep -v “^#*$” 파일명

위는 주석을 제거한 파일 내용 살펴보기

이밖의 패턴과 정확히 일치하는 것만을 찾아주는 fgrep 가 있다.

grep,egrep,fgrep 의 옵션으론 위의 옵션을 공통적으로 사용한다.

마지막으로 유용한 팁 하나 소개하죠. grep 는 현재 디렉토리에 존재하는 파일

만을 검색한다. 만일 현재 디렉토리와 그 하위 디렉토리까지 grep 패턴 검색을

하고자 할땐 find 명령을 이용하면 된다.

# find . -exec grep “pattern” {} \\;

다음편에 계속됩니다.

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.