* find와 grep를 같이 이용하는 방법
그런데 리눅스 배포판에 따라서 grep의 하위 디렉토리 검색이 안되는 경우도 있다고 한다. 어디서 안되는지는 사실 모르겠다. 라우터에 들어가는 매우 가벼운 OpenWRT에서조차 -rn 옵션이 작동하는데 어디서 안되는 것일지?
어쨌든 조금 길고 복잡하지만 같은 목적을 갖는 다른 방법으로 find를 같이 이용하는 방법이 있다.
$ find . -name "*" | xargs grep -n "찾고자 하는 문자열"
참고로 grep와는 달리 find를 쓸 때의 좋은 점은 정규식을 통해서 검색할 파일의 범위를 지정할 수 있는 것이다. 예를 들면, 하위 디렉토리의 모든 .c 또는 .h 파일에 대해서만 검색을 수행하고자 할 때 아래와 같이 할 수 있다.
$ find . -name "*.[ch]" | xargs grep -n "찾고자 하는 문자열"
앞선 예제와 같은 조건에 대해서 find를 이용한 검색 화면은 아래와 같다. 참고로 맨 끝에 붙인 "--color=auto" 옵션은 텍스트와 라인 번호, 키워드 강조 색상을 주기 위해서 필요하다. "--color=auto" 옵션이 없으면 그냥 단색의 결과만 나타난다.
http://skylit.tistory.com/81#recentComments
'운영체제' 카테고리의 다른 글
[윈도우7] 암호 입력없이 자동로그인 설정하기 (0) | 2016.02.18 |
---|---|
FTP 연결안될 때 500 OOPS: cannot change directory (0) | 2015.05.25 |
APM 설치후 제로보드 설치하기 (0) | 2015.05.25 |
네임서버란 무엇인가? (0) | 2015.05.25 |
CentOS6.6 APM설치하기 (0) | 2015.05.25 |