2009-05-06 1 views
0

cscope-indexer 스크립트를 사용하려고합니다. 그러나 *.mm*.java 파일을 포함하도록 다음을 변경하는 방법을 알고 싶습니다. .java 및 .mm 파일과 일치하도록 정규식 수정

egrep -i '\.([chly](xx|pp)*|cc|hh)$' | \ 
sed -e '/\/CVS\//d' -e '/\/RCS\//d' -e 's/^\.\///' | \ 
sort > $LIST_FILE 

나는

egrep -i '\.([chly](xx|pp)*|cc|hh|mm|java)$' 

가 작동하지 않습니다를 시도했다.

답변

2

시도 :

egrep -i '\.([chly](xx|pp)*|cc|hh|mm|java)$' | \ 
sed -e '/\/CVS\//d' -e '/\/RCS\//d' -e 's/^\.\///' | \ 
sort > $LIST_FILE 
+0

I을 egrep에 'mm | java'를 추가하려고 시도했습니다. 작동하지 않습니다. cscope에 소스 파일이 없습니다. – yinglcs

+0

아마도 cscope에서 java 또는 '.mm'파일을 구문 분석 할 수 없습니까? – bdonlan

0

하면 " 'C'에 '시간'에 'L', 또는 'Y'중 하나를 의미 원래 정규식에 [chly]보고합니다. 그것을 "chly *"로 바꿨다. 이제는 "chl"다음에 임의의 수의 y가 붙는다. 또한 첫 번째 마침표 앞에서 '\'을 제거하면 "마침표 일치"에서 " 모든 문자 "중 하나와 일치.

을 정규 표현식에 대한 자세한 내용은 펄이 거의 정규 표현식을 발명 한 이후의 Perl Regular Expression Guide을 확인하십시오.

+1

아니요, Perl은 정규식을 확실히 만들지 않았습니다. 가이드는 멋지다. – Svante

+0

명백하게 허위 진술 "+1은 정규식을 거의 발명했습니다"에 +1이 없습니다. – ephemient