繁体   English   中英

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

[英]How can I use grep to extract all IP addresses contained in all the files within a directory and sub-directories?

我有一个目录层次结构,其中包含(除其他外)IP 地址的文本文件。 我想建立一个在此目录和所有子目录中的所有文件中引用的所有地址的列表。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM