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

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

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

번호 제목 글쓴이 날짜 조회
2865 자주쓰는 명령어 모음 13 김영철 01.29 2388
2864 [중요함]자동접속 FTP 스크립트 13 김영철 01.29 2562
2863 표준시간 설정법 13 김영철 01.29 2558
2862 호스트간의 데이터 동기화 rsync 13 김영철 01.29 2646
2861 rsync 미러링을 통한 백업기법 13 김영철 01.29 3804
2860 리눅스의 각종 데몬들 13 김영철 01.29 3254
2859 diff 기능 13 김영철 01.29 2500
2858 cron 을 이용한 타임서버 구축 13 김영철 01.29 3163
2857 TOMCAT Context 추가하기 13 김영철 01.29 2899
2856 터미널서비스 세션끊기 | Windows 보안 13 김영철 01.29 2796
열람중 unix grep 명령어 사용법2번째 13 김영철 01.29 3863
2854 리눅스 팁 13 김영철 01.29 3541
2853 리눅스 find 명령어 팁 13 김영철 01.29 3210
2852 [AIX]유용한 find 명령어에 대해서... 13 김영철 01.29 4166
2851 '허용되지 않는 부모 경로' (ASP 0131) 에러 발생시 대처법 13 김영철 01.29 2600
2850 윈도우 서버 프롬프트에서 재시작 13 김영철 01.29 2523
2849 Apache 2.2.4 설치 및 php 연동 13 김영철 01.29 2553
2848 php 5.2.3 설치 (windows 용) 13 김영철 01.29 2328
2847 Windows Server 2003 64bit 에서 Mysql 설치 문제~ 13 김영철 01.29 2716
2846 MySQL 5.0.45 설치 13 김영철 01.29 2940
2845 윈도우XP 풍선도움말 없애기 13 김영철 01.29 3856
2844 빠른실행 폴더경로 13 김영철 01.29 2579
2843 xp 멀티부팅 boot.ini 13 김영철 01.29 2355
2842 부팅파일 boot.ini 13 김영철 01.29 2333
2841 CMD 및 실행 13 김영철 01.29 2984
2840 부팅 안되는 XP 복구 : fixmbr 13 김영철 01.29 3306
2839 복구 콘솔 명령어 리스트 13 김영철 01.29 2421
2838 윈도우 복구 콘솔 13 김영철 01.29 2723
2837 Sysprep 버전 2.0 - XP CD 에 있는 윈도우즈 설치 준비 13 김영철 01.29 2680
2836 copy.exe 찾을 수 없습니다, 엑세스가 거부되었습니다 13 김영철 01.29 2831
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취