我正在尝试使用cscope-indexer脚本。但我想知道如何更改以下内容以包含*.mm
和*.java
个文件?
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)$'
它不起作用。
答案 0 :(得分:2)
尝试:
egrep -i '\.([chly](xx|pp)*|cc|hh|mm|java)$' | \
sed -e '/\/CVS\//d' -e '/\/RCS\//d' -e 's/^\.\///' | \
sort > $LIST_FILE
答案 1 :(得分:0)
当你在原始正则表达式中看到[chly]时,这意味着“要么'c','h','l',要么'y'。当它改为”chly *“时,它现在意思是“chl”后面跟着任意数量的y。而且,当你从第一个句号的前面删除'\'时,你改变它的意思是从“匹配一个句号”到“匹配任何一个字符”。
有关正则表达式的更多信息,请查看Perl Regular Expression Guide,因为Perl几乎发明了正则表达式。