| [ 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 - |