Skip to content

grep 옵션~!

조회 수 22226 추천 수 0 2010.02.17 16:38:12

출처 : 유닉스 쉘 바이블 (엘리 퀴클리 지음)에서 발췌.
3.13.1 grep 명령어

grep : 파일 전체를 뒤져 정규표현식에 대응하는 모든모든 행들을 출력한다.
egrep : grep의 확장판으로, 추가 정규표현식 메타문자들을 지원한다.
fgrepfgrep : fixed grep 이나 fast grep으로 불리며, 모든 문자를 문자 그래도그래도 취급한다. 즉, 정규표현식의 메타문자도 일반 문자로 취급한다.

3.2 정규표현식을 사용하는사용하는 grep의 예제
# grep NW datafile
# grep NW d* (d로(d로 시작하는 모든 파일에서 NW를 포함하는 모든 행을 찾는다.)
# grep '^n''^n' datafile (n으로 시작하는 모든 행을 출력한다.)
# grep '4$' datafile (4로(4로 끝나는 모든 행을 출력한다.)
# grep TB Savage datafile (TB만 인자이고인자이고 Savage와 datafile은 파일 이름이다.)
# grep 'TB Savage' datafile (TB Savage를Savage를 포함하는 모든 행을 출력한다.)
# grep '5.' datafile (숫자 5, 마침표,마침표, 임의의 한 문자가 순서대로 나타나는 문자열이 포함된 행을 출력한다.)
# grepgrep '.5' datafile (.5가 나오는 모든 행을 출력한다.)
# grep '^[we]' datafiledatafile (w나 e로 시작하는 모든 행을 출력한다.)
# grep '[^0-9]' datafile (숫자가(숫자가 아닌 문자를 하나라도 포함하는 모든 행을 출력한다.)
# grep '[A-Z][A-Z] [A-Z]'[A-Z]' datafile (대문자 2개와 공백 1개, 그리고 대문자 하나가 연이어 나오는 문자열이문자열이 포함된 행을 출력한다.)
# grep 'ss* ' datafile (s가 한 번번 나오고, 다시 s가 0번 또는 여러번 나온 후에 공백이 연이어 등장하는등장하는 문자열을 포함한 모든 행을 출력한다.)
# grep '[a-z]{9}' datafile (소문자가 9번9번 이상 반복되는 문자열을 포함하는 모든 행을 출력한다.)
# grep '(3).[0-9].*1 *1'*1' datafile (숫자 3,마침표,임의의 한 숫자,임의 개수의 문자,숫자 3(태그),임의 개수의 탭 문자,숫자문자,숫자 3의 순서를 갖는 문자열이 포한된 모든 행을 출력한다.)
# grep ''
(north로 시작하는 단어가 포함된 모든 행을 출력한다.)
# grep '' datafiledatafile (north라는 단어가 포함된 모든 행을 출력한다.)
# grep '<[a-z].*n>' datafile (소문자 하나로 시작하고, 이어서 임의 개수의 여러 문자가 나오며, n으로 끝나는 단어가 포함된 모든 행을 출력한다. 여기서 .*는 공백을 포함한 임의의 문자들을 의미한다.)

3.3 grep에 옵션 사용사용
# grep -n '^south' datafile (행번호를 함께 출력한다.)
# grep -i-i 'pat' datafile (대소문자를 구별하지 않게 한다.)
# grep -v 'Suan Chin'Chin' datafile (문자열 Suan Chin이 포함되지 않은 모든 행을 출력하게 한다. 이이 옵션은 입력 파일에서 특정 내용의 입력을 삭제하는데 쓰인다.
# grep -v-v 'Suan Chin' datafile > black
# mv black datafile
# grepgrep -l 'SE' * (패턴이 찾아진 파일의 행 번호 대신 단지 파일이름만파일이름만 출력한다.)
# grep -w 'north' datafile (패턴이 다른 단어의 일부가 아닌아닌 하나의 단어가 되는 경우만 찾는다. northwest나 northeast 등의 단어가 아니라, north라는north라는 단어가 포함된 행만 출력한다.)
# grep -i "$LOGNAME" datafile (환경변수인 LOGNAME의 값을값을 가진 모든 행을 출력한다. 변수가 큰따옴표로 둘러싸여 있는 경우, 쉘은 변수의 값으로값으로 치환한다. 작은따옴표로 둘러싸여 있으면 변수 치환이 일어나지 않고 그냥 $LOGNAME 이라는 문자로문자로 출력된다.)

3.4 egrep
egrep(extended grep) : grep에서 제공하지 않는 확장된확장된 정규표현식 메타문자를 지원 한다. grep와 동일한 명령행 옵션을 지원한다.

3.4.1 egrep 예제
# egrep 'NW|EA' datafile (NW나 EA가 포함된 행을행을 출력한다.)
# egrep '3+' datafile (숫자 3이 한 번 이상 등장하는등장하는 행을 출력한다.)
# egrep '2.?[0-9]' datafile (숫자 2 다음에 마침표가 없거나없거나 한 번 나오고, 다시 숫자가 오는 행을 출력한다.)
# egrep '' (no)+' datafile (패턴 no가 한 번 이상 연속해서 나오는 행을 출력한다.)출력한다.)
# egrep 'S(h|u)' datafile (문자 S 다음에 h나 u가 나오는 행을행을 출력한다.)
# egrep 'Sh|u' datafile (패턴 Sh나 u를 포함한 행을 출력한다.)출력한다.)

3.5 고정 grep 과 빠른 grep
fgrep : grep 명령어와명령어와 동일하게 동작한다. 다만 정규표현식 메타문자들을 특별하게 취급하지 않는다.
# fgrep '[A-Z]****[0-9]..$5.00''[A-Z]****[0-9]..$5.00' file ([A-Z]****[0-9]..$5.00 이 포함된 행을 출력한다. 모든 문자들을 문자 자체로만 취급한다.)취급한다.)

 

profile

일요일은 짜빠게뤼~ 먹는날~^^

엮인글 :
http://adminplay.com/5417/167/trackback
List of Articles
번호 제목 글쓴이 날짜 조회 수sort

도메인 Status 상태별 설명 안내

HDD Guardian (a graphical user interface for smartctl)

dpkg 사용법

top 화면 내용중 load average와 PRI : priority(우선순위...

ubuntu 10.04 에서 Nginx, Mysql, PHP5

HP 서버 disk 증설 (hpacucli 사용)

리눅스 메모리 관리, 왜 메모리 여유공간이 없을까? (top ...

windows smartctl

ZFS 파일에 ACL 설정

make 정리

SSL 패스워드 삭제 하기

EXT4 파일 시스템을 Btrfs 파일 시스템으로 변환하기

tar 압축을 실수로 디렉토리 생성 안하고 풀었을때 대처법

ll 명령시 날짜 전체가 보이도록 하기

hddtemp와 mrtg를 이용한 하드디스크 온도 체크 file

python과 mysql 연동시 libmysqlclient_r.so.* 에러가 날 ...

linux 커널 파라메터 수정

우분투(Ubuntu) ssh 설정하기

error: Hm, kex protocol error: type 30 seq 1 [preauth]... file

운영중인 Linux 서버에서 NTFS 파일 시스템 삭제하기

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234