所以这是我的问题,我有一个脚本,我生成这样的文件(只是一个例子):
animal
animal.dog
animal.dog.7
基本上这是文件中的树结构,每个结构都包含不同的信息。
我正试图抓住animal.dog
,但我的正则表达式.*\..*$
想抓住这两个
animal.dog.7
和animal.dog
我只想要animal.dog
。
非常感谢任何帮助!
答案 0 :(得分:2)
您可以在grep -E
正则表达式模式中使用此否定字符类:
^[^.]+\.[^.]+$
这将与animal.dog
匹配,但与animal.dog.7
RegEx分手:
^
:开始[^.]+
:匹配1个不是DOT的字符\.
:匹配文字DOT [^.]+
:匹配1个不是DOT的字符$
:结束