CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): terzeron (microkid)
날 짜 (Date): 2003년 2월 17일 월요일 오후 05시 18분 15초
제 목(Title): Re: 쉘 스크립트 내에서요..


:는 expr에서 사용되는 matching operator입니다.
: 뒤에 오는 regular expression을 적용시키는 연산자죠.

"와 "안에 있는 regex는 [^-][^-]*\(-.*\)인데

[^-]은 -가 아닌 어떤 문자를 의미하고 *은 앞의 표현식이 
0번 이상 반복됨을 의미합니다.  그러므로 [^-][^-]*은 
-이 아닌 어떤 문자가 1번 이상 나온다는 의미죠.

\(와 \)는 각각 match하고 반환할 substring을 가리키게
되는데 -으로 시작하고 임의의 글자(.)가 0번 이상 반복되는
substring을 반환하겠다는 뜻이죠. 

그러므로 linux-2.4.x에서 linux가 [^-][^-]*에 해당하고
-2.4.x가 -.*에 해당하게 되므로 \(와 \)안에 있는
-2.4.x가 expr의 결과로 반환되는 것입니다.

man expr

---
어떤 성취가, 어떤 조롱이, 또는 어떤 고뇌가 나를 기다리고 있을지 나는 모른다. 
나는 아무 것도 모른다. 그러나 나는 아직 과거의 경이로운 기적의 시대가 영원히 
과거의 것이 되어 버리지는 않았다는 사실을 굳게 믿고 있다.  - Stanislaw Lem -
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.