如何grep至少一个字符和双斜杠

时间:2019-03-11 11:38:52

标签: grep

我有一个.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

谢谢。

1 个答案:

答案 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]\+/"