grep 의 종류와 사용법 (egrep fgrep)
grep 은 linux 에서 특정 문자열을 찾는 명령어 입니다.
이 명령어는 정규식을 사용할 수 있기 때문에 다양한 검색이 가능합니다.
grep 의 문법과 option 은 아래와 같습니다.
grep [OPTION]... PATTERN [FILE]...
-v : PATTERN 과 일치하지 않는 것을 찾음
-n : 찾은 line number(줄번호) 를 출력
-i : 대소문자 구별하지 않음
-c : PATTERN 과 일치하는 line 수를 출력
-r : 하위 dir 검색
--exclude=FILE_PATTERN 특정 파일을 검색하지 않음
--include=FILE_PATTERN 특정 파일만 검색함
--exclude-dir=PATTERN 특정 이름의 dir 은 검색에서 제외함
-F : 정규식 사용하지 않음
-E : 확장 정규식 사용
예를 들어보자면 현재 android 전체 소스에서 abcd 라는 문자열을 가진 파일을 검색하고 line number를 표시 하는데 .repo 와 .git 에 있는 내용은 검색하지 않고 싶다면
grep -r -n --exclude-dir=.git --exclude-dir=.repo abcd ./
와 같이 표시할 수 있습니다.
만일 해당 파일들을 git reset 하고 싶다면 xargs 를 이용할 수 있습니다.
grep -r -n --exclude-dir=.git --exclude-dir=.repo abcd ./ | xargs -c git reset --hard HEAD {}
egrep 은 grep 이 사용하는 정규식보다 확장된 확장 정규식을 사용할 수 있는 grep 입니다.
확장이라 함은 | 를 사용하여 여러개의 문자열을 찾을 수 있다는 것 입니다.
예를 들어보면
egrep -r -n '(abcd|dcba)' ./
현재 dir 에서 abcd 나 dcba 가 포함된 파일을 찾는 명령입니다.
이것은 아래의 grep 의 -E 옵션을 주는 것과 동일 합니다.
grep -E -r -n '(abcd|dcba)' ./
fgrep 은 정규식을 사용하지 않는 grep 입니다. 정규식을 처리하지 않기 때문에 빠른 검색 결과를 얻을 수 있습니다.
.dat 라는 문자를 포함하는 파일을 찾는 명령입니다.
fgrep -r -n .dat ./
이것은 아래의 -F 옵션을 준 grep 명령과 동일 합니다.
grep -F -r -n .dat ./
ssh pub key 서버 로그인 간단히 하기 및 ssh key 생성 및 등록 방법 (0) | 2014.02.06 |
---|---|
Pushd popd 명령어 사용법 (0) | 2013.11.30 |
Gerrit & LDAP & Active Directory 설정 cofiguration (0) | 2013.09.08 |
국제 표준 국가 코드 (Country codes in ISO 3166) (0) | 2013.08.23 |
Ubunut Linux 명령어 rsync 사용법 (0) | 2013.01.12 |