如何使用grep提取目录和子目录中所有文件中包含的所有IP地址?

时间:2015-09-06 20:58:04

标签: regex linux grep

我有一个目录heirarchy,其中包含包含(除其他外)IP地址的文本文件。我想构建一个列表,列出该目录和所有子目录中所有文件中引用的所有地址。

使用正则表达式可以相当容易地识别这些地址,但我不确定如何构造命令以便它将扫描所有文件。所以......

我如何使用grep来构建这样的列表?

1 个答案:

答案 0 :(得分:3)

只需递归使用grep:

grep -r 'yourRegularExpression' .

介意最后的点。它告诉grep从当前文件夹开始!

编辑:由于您只需要IP地址,因此可以使用-o参数,它只返回与正则表达式匹配的部分。所以有类似的东西:

grep -roE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' . 

应该做的事情。 (-E参数是一个扩展的正则表达式,但我想你很熟悉)。

另一个编辑:正如ScottMcGready指出的那样,我假设您在文本文件中搜索的是IP地址而不是一些奇怪的格式。