我有一个.gnmap
文件,其中包含以下行:
Host: x.x.x.x () Ports: PORT/open/tcp//PROTOCOL//SERVICE/
我想为"/open/tcp//at_least_one_character//at_least_one_character/"
我尝试使用grep "/open/tcp//[a-zA-Z]//[a-zA-Z]//"
,但它不返回任何内容。
如何纠正上面的grep
?
谢谢。
答案 0 :(得分:0)
您的正则表达式仅匹配//
后的一个字符
要匹配至少一个字符,请使用+
。它告诉grep处理一个或多个先前字符或字符类的出现。
grep -E "/open/tcp//[a-zA-Z]+//[a-zA-Z]+/"
-E
表示grep使用扩展正则表达式。没有-E选项,您可能会有类似的行为,但是您需要反斜杠+
来赋予它特殊的含义。
grep "/open/tcp//[a-zA-Z]\+//[a-zA-Z]\+/"