e-mail
은 중간에 @
가, 오른쪽에 .
이, 왼쪽에는 계정명
이 등장한다..
?
+
*
{m,n}
^
$
[…]
[^…]
\
|
( )
.
c
.
b
→ c1b
, c2b
, c3b
…c
..
b
→ c12b
, c23b
, c34b
…$ var3='abc cab cbb ccb zxy cdb c1b c2b c.b c*b 123'
$ echo $var3 | grep --color 'c.b'
# 결과는?
$ echo $var3 | grep --color 'c\.b' # \는 .의 예약어 기능을 취소한다.
# 결과는?
X?ML
→ XML or ML, ?
앞의 문자가 0개 혹은 1개 존재. ERE, 실제 사용은 \?
can*
→ ca, can, cann, cannn…, *
앞 문자가 0개 이상 존재. BREcan+
→ can, cann, cannn…, +
앞 문자가 1개 이상 존재. ERE, 실제 사용은 \+
http.*
→ .*
뒤에 어떤 문자던 붙을 수 있다. EREabc{2,5}
→ {2,5}
앞의 문자가 2
개 이상, 5
개 이하 존재.{0, } = *
, { ,1} = ?
, {1, } = +
^ftp
→ ftp
로 시작하는 행^$
→ 비어있는 행<BR>$
→ <BR>
로 끝나는 경우[a,b,c,d]
→ a
, b
, c
, d
중 하나[0-9]
→ 0~9
range 지정[a-zA-Z0-9]
→ 대소문자 알파벳과 숫자아스키 코드
값이 기준이라[^0-9]
→ [0-9]
를 제외한 나머지^
문자 자체를 그룹에 넣으려면?[0-9^]
grep
실행시 matcher 고르기grep -G # default, BRE 사용
grep -E # ERE 사용
grep -P # PCRE 사용
grep
주요 옵션grep --color # matching에 성공한 부분을 색칠
grep -o # matching에 성공한 부분만 잘라줌
grep -v # invert, matching에 실패한 부분만 잘라 줌
grep --invert-match
sed - Stream Editor로, REGEX기능을 일부 탑재
awk - 패턴식을 다루는 언어 tool, 가장 많은 기능