강좌 & 팁
글 수 2,412
2011.11.21 01:46:03 (*.54.178.10)
79929
grep (Globally Find Regular - Expression and print )
grep 은 리눅스 또는 유닉스 환경에서 무엇이든 검색 할 수 있는 명령어 입니다.
어떤 소스를 분석 할때 함수가 어디서 콜 되었고, 변수가 어디서 사용 되었는지 등을 검색 할때 유용하게 쓰입니다.
함수나 변수외에도 텍스트까지도 모두 검색 되므로, 출력 메시지를 검색해 그 메시지를 발생시킨 함수를 역추적 하기도 좋습니다.
1. 사용 형식
grep [<option>] 문자열 [대상파일]
2. 옵션
<option>
-i : 영문의 대소문자를 구별하지 않는다.
-v : pattern을 포함하지 않는 라인을 출력한다.
-n : 검색 결과의 각 행의 선두에 행 번호를 넣는다(first line is 1).
-l : 파일명만 출력한다.
-c : 패턴과 일치하는 라인의 개수만 출력한다.
-r : 하위 디렉토리까지 검색한다.
3. 사용 예
grep hello test.c
-> test.c 라는 파일에서 hello 라는 문구가 들어간 모든 행을 찾아 보여 줍니다.
grep -n hello test.c
-> test.c 라는 파일에서 hello 라는 문구가 들어간 모든 행을 보여주며, 라인까지 출력해 줍니다.
grep -r hellow test
-> test 라는 폴더내의 모든 파일중에 hello 라는 문구가 들어간 행을 보여 줍니다.
grep -i hellow test.c
-> test.c 라는 파일에서 hellow 라는 문구를 대,소문자 구분 없이 검색해서 보여 줍니다.
grep -E "aa|bb|cc" test.c
-> tst.c 라는 파일에서 aa 또는 bb 또는 cc 가 있는 모든 행을 찾아 보여줍니다.
참고 :
모든 옵션들은 함께 사용이 가능 하며 라인수를 모두보여주고, 하위폴더를 모두 포함호고, 대,소문자 구분이
없이 검색을 한다고 하면 -rni 와 같이 옵션을 사용 하면 됩니다.
본 포럼에 관련글