2015-09-06 110 views
-4

我有一个目录heirarchy完整的文本文件,其中包含(除其他外)IP地址。我想建立一个在这个目录和所有子目录中的所有文件中引用的所有地址的列表。如何使用grep来提取目录和子目录中所有文件中包含的所有IP地址?

这些地址应该使用正则表达式很容易识别,但我不确定如何构建命令以便扫描所有文件。所以...

我该如何使用grep来建立这样一个列表?

+0

文件没有“有IP地址”。这个问题没有写作的意义。 – user2864740

+2

@ user2864740:我认为OP希望以文本文件的形式在文本文件中查找IP地址 –

+0

为什么会得到5个降价?这是一个有效的问题减去事实他没有**尝试**任何东西 –

回答

1

只需使用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地址不是一些奇怪的格式。

+1

这是假设IP地址包含在文本文件中,而不是一些奇怪的格式(可能值得添加到您的答案作为一个假设!) 。 – ScottMcGready

+0

啊是的。我绝对同意!我没有考虑到这一点。我编辑了我的帖子,谢谢你指出。 – Mirza

相关问题