차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
tech:grep [2014/02/14 17:04] V_Ltech:grep [2016/07/12 09:26] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 +{{tag>grep 우분투 유닉스}}
 +======Grep======
 +
 +grep (Globally Find Regular - Expression and print )
 +
 +grep 은 리눅스 또는 유닉스 환경에서 무엇이든 검색 할 수 있는 명령어 입니다.
 +어떤 소스를 분석 할때 함수가 어디서 콜 되었고, 변수가 어디서 사용 되었는지 등을 검색 할때 유용하게 쓰입니다.
 +함수나 변수외에도 텍스트까지도 모두 검색 되므로, 출력 메시지를 검색해 그 메시지를 발생시킨 함수를 역추적 하기도 좋습니다.
 +
 +
 +=====사용 형식=====
 +
 +grep [<option>] 문자열 [대상파일]
 +
 +=====옵션=====
 +
 +<file>
 +
 +<option>
 +-i : 영문의 대소문자를 구별하지 않는다.
 +-v : pattern을 포함하지 않는 라인을 출력한다.
 +-n : 검색 결과의 각 행의 선두에 행 번호를 넣는다(first line is 1).
 +-l : 파일명만 출력한다.
 +-c : 패턴과 일치하는 라인의 개수만 출력한다.
 +-r : 하위 디렉토리까지 검색한다.
 +</file>
 +
 +=====사용 예=====
 +
 +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 와 같이 옵션을 사용 하면 됩니다.
 +
 +=====예=====
 +   sensors | grep -E "Core|fan2"
 +
 +^  누구나 수정하실 수 있습니다. [[http://vaslor.net/syntax|위키 사용법]] 참고하세요.  ^
 +