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/fb1/trackback
List of Articles
번호 제목 글쓴이 날짜 조회 수sort

rsync 에러

리눅스에서 일정기간 이상된 파일 삭제하기

FreeBSD CPU 개수 확인 등.(mptable, sysctl)

콘솔에 남는 메세지로그파일로 남기기

vim 편집기 색상변경

ethtool 사용법

grep 옵션~!

find 찾아바꾸기

서버로그 관리

MRTG 로그 데이터 시간확인하기

실시간 접근정보 확인

iscsi-target 설정 에러 모음

hdparm - 하드디스크의 자세한 정보 보기

아파치 모듈 mod_status file

특정 디랙토리 인증걸기 htpasswd, htaccess

syslogd : 콘솔에 남는 메세지 로그파일로 남기기

apm설치시 configure error

리눅스 언어 인코딩 설정

sysctl 커널 파라미터

제로보드4의 데이터를 XE 로 이전하는 방법 file

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234