Skip to content

grep 옵션~!

조회 수 22183 추천 수 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/f9c/trackback
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
227 rsync 에러 ADMINPLAY 2009-05-17 22345
226 리눅스에서 일정기간 이상된 파일 삭제하기 ADMINPLAY 2009-07-02 22312
225 FreeBSD CPU 개수 확인 등.(mptable, sysctl) ADMINPLAY 2012-01-16 22277
224 콘솔에 남는 메세지로그파일로 남기기 ADMINPLAY 2009-07-19 22229
223 vim 편집기 색상변경 ADMINPLAY 2009-05-17 22204
222 ethtool 사용법 ADMINPLAY 2009-06-04 22199
» grep 옵션~! ADMINPLAY 2010-02-17 22183
220 find 찾아바꾸기 ADMINPLAY 2010-01-27 22174
219 서버로그 관리 ADMINPLAY 2009-09-20 22171
218 MRTG 로그 데이터 시간확인하기 ADMINPLAY 2009-05-08 22156
217 실시간 접근정보 확인 ADMINPLAY 2008-12-10 22061
216 iscsi-target 설정 에러 모음 ADMINPLAY 2011-04-24 22048
215 hdparm - 하드디스크의 자세한 정보 보기 ADMINPLAY 2009-06-16 22044
214 아파치 모듈 mod_status file ADMINPLAY 2009-07-01 22010
213 특정 디랙토리 인증걸기 htpasswd, htaccess ADMINPLAY 2009-03-04 21993
212 syslogd : 콘솔에 남는 메세지 로그파일로 남기기 ADMINPLAY 2009-06-04 21978
211 apm설치시 configure error ADMINPLAY 2009-06-01 21973
210 리눅스 언어 인코딩 설정 ADMINPLAY 2009-05-22 21925
209 sysctl 커널 파라미터 ADMINPLAY 2009-06-04 21920
208 제로보드4의 데이터를 XE 로 이전하는 방법 file ADMINPLAY 2009-11-23 21885

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234