티스토리 툴바

시간을 기록하다

블로그 이미지
by 기록자
  • 28,673Total hit
  • 6Today hit
  • 9Yesterday hit

egrep(extended grep)은 grep 명령어의 좀더 확장된 버젼이라 할 수 있다. 다시 말하면, 좀 더 확장된 정규표현식을 메타 문자를 사용할 수 있다. 다만 grep에서 사용할 수 있었던 \{와 \{ 는 지원하지 않는다. 그러나 egrep에서 사용할 수 있는 메타 문자를 이용하면 훨씬 편리하게 정규표현식을 사용할 수 있다.


 메타문자 기능
사용 예
설명

^
행의 시작 지시자
'^love'
 love로 시작하는 모든 행과 대응

$
행의 끝 지시자
'love$'
 love로 끝나는 모든 행과 대응

.
하나의 문자와 대응
'l..e'
 l 다음에 두 글자가 나오고 e로 끝나는 문자열을 포함하는 행과 대응

*
선행 문자와 같은 문자의 0개 이상의 개수와 대응
' *love'
 0개 이상의 공백 문자 후에 love로 끝나는 문자열을 포함한 행과 대응

[ ]
[ ]사이의 문자집합 중 하나와 대응
'[Ll]ove'
 love나 Love를 포함하는 행과 대응

[^ ]
문자집합에 속하지 않는 한 문자와 대응
'[^A-KM-Z]ove'
 A와 K 사이의 범위에 포함되지 않거나, M과 Z 사이에 포함되지 않는 한 문자와 ove가 붙어 있는 문자열과 대응

+
선행문자와 같은 문자의 1개 이상의 개수와 대응
'[a-z]+ove'
 a와 z 사이의 1개 이상의 문자와 ove가 붙어있는 문자열과 대응(ex: move, love, ...)

?
선행문자와 같은 문자의 0개 혹은 1개와 대응
'lo?ve'
 l 다음에 o가 0개 혹은 1개이고 ve가 붙어있는 문자열과 대응. love 혹은 lve.

a|b
a 혹은 b와 대응
'love|hate'
 love 혹은 hate와 대응

( )
정규표현식을 묶어준다
'lov(able|ely)'
'(ov)+'
lovable 혹은 lovely와 대응
ov가 한 번 이상 등장하는 문자열과 대응

개인적으로 처음으로 정규식을 사용하게 되었던게 C#에서 문자열 처리를 해야할 때였다. C#에서는 좀더 확장된 기능을 사용할 수 있어서 편리했던 것 같다(물론 큰 차이는 없지만...). egrep에 좀 더 익숙해지면 아마도 충분히 편리하게 사용할 수 있을 것 같다.
크리에이티브 커먼즈 라이선스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.
TRACKBACK 0 AND COMMENT 0

ARTICLE CATEGORY

분류 전체보기 (42)
개발 노트 (1)
초보의 알고리즘 (17)
프로그래밍 팁 (13)
기타 등등등등등 (11)

CALENDAR

«   2012/05   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

ARCHIVE

LINK