강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

unix grep 명령어 사용법2번째
작성자 : 13 김영철
등록날짜 : 2009.01.29 16:21
3,863

grep 명령어 사용법 

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

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

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

3.3 grep에 옵션 사용
# grep -n '^south' datafile (행번호를 함께 출력한다.)
# grep -i 'pat' datafile (대소문자를 구별하지 않게 한다.)
# grep -v 'Suan Chin' datafile (문자열 Suan Chin이 포함되지 않은 모든 행을 출력하게 한다. 이 옵션은 입력 파일에서 특정 내용의 입력을 삭제하는데 쓰인다.
# grep -v 'Suan Chin' datafile > black
# mv black datafile
# grep -l 'SE' * (패턴이 찾아진 파일의 행 번호 대신 단지 파일이름만 출력한다.)
# grep -w 'north' datafile (패턴이 다른 단어의 일부가 아닌 하나의 단어가 되는 경우만 찾는다. northwest나 northeast 등의 단어가 아니라, 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' file ([A-Z]****[0-9]..$5.00 이 포함된 행을 출력한다. 모든 문자들을 문자 자체로만 취급한다.)

출처 : Tong - ddakzzi님의 SERVER통

"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
3165 TextArea 박스 내부에 밑줄이미지 삽입 99 단국강토 02.16 3869
열람중 unix grep 명령어 사용법2번째 13 김영철 01.29 3864
3163 윈도우XP 풍선도움말 없애기 13 김영철 01.29 3857
3162 스타일이 적용된 selectbox 컨트롤 99 단국강토 12.30 3855
3161 [컴퓨터 키보드, 특수문자 정식 명칭들] M 최고의하루 12.18 3854
3160 MS outlook 2007 백업 프로그램입니다. 2 coruscate 09.14 3849
3159 알아두면 좋은 포토샵 단축키 총모음 M 최고의하루 12.19 3830
3158 history.back() 시 폼데이터 유지하기 13 김영철 01.15 3822
3157 원격데스크톱 연결 (원격제어) M 최고의하루 12.19 3815
3156 swf파일을 fla 파일로 변환하기 M 최고의하루 02.04 3813
3155 [펌] 제11강 - ADO(Active Database Object) - Database Access Component Cobol vs C#-1 M 최고의하루 12.23 3805
3154 rsync 미러링을 통한 백업기법 13 김영철 01.29 3804
3153 체크박스 배열을 edit 수정페이지로 불러오기 M 최고의하루 01.12 3804
3152 이것은 AI파일 미리보기입니다. 댓글2 M 최고의하루 01.15 3803
3151 미디어 컨트롤 소스 M 최고의하루 12.24 3790
3150 체크박스 트리메뉴 99 단국강토 02.03 3789
3149 [MSSQL] 그룹별 상위 n명 가져오기 예제 13 김영철 01.23 3789
3148 ps 명령어 사용법 13 김영철 01.29 3780
3147 제약조건(1) M 최고의하루 12.20 3775
3146 자신의 아이큐 알아보기 댓글1 17 미니 04.27 3775
3145 웹프로그래밍 언어별 데이터베이스연결 (ASP편) 13 김영철 01.23 3770
3144 pcre 문법, preg | 13 김영철 01.13 3764
3143 PUTTY Telnet , SSH 접속 프로그램 99 단국강토 01.06 3759
3142 [Gmail] CSV 파일 Outlook에 적용하기 M 최고의하루 12.20 3758
3141 PDF 암호를 깨버리자 (APDFPRP) M 최고의하루 12.04 3745
3140 출력물로 판단하는 토너 카트리지 이상 증상 2 coruscate 09.14 3742
3139 contentEditable 속성 99 단국강토 02.09 3735
3138 DBA라면 이 정도는 알고 있어야 하지 않을까요 !!! 13 김영철 01.23 3727
3137 ServerXMLHTTP의 인코딩 문제 13 김영철 01.29 3724
3136 MSSQL에서 문자로 된 날짜 시간 차이값 얻기 13 김영철 01.24 3707
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취