0
点赞
收藏
分享

微信扫一扫

linux中如何提取日志文件中的所有IP地址?


一个小需求,当前有一个日志文件,我需要提取日志文件中的所有IP地址。

可以使用grep命令结合正则表达式来提取日志文本文件中的所有IP地址。
例如,假设日志文件名为nohup.out,可以使用以下命令来提取其中的IP地址:

grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" nohup.out

linux中如何提取日志文件中的所有IP地址?_正则表达式

解释:

  • -o 选项表示只输出匹配到的文本,而不是整行文本。
  • -E 选项表示使用扩展正则表达式。
  • \b 表示单词边界,用于确保匹配到的是完整的IP地址。
  • ([0-9]{1,3}\.){3} 表示匹配3个数字和一个点号的组合,重复3次,即匹配到3个数字和3个点号。
  • [0-9]{1,3} 表示匹配1到3个数字,用于匹配IP地址中的每个数字。
  • 最终的正则表达式 \b([0-9]{1,3}\.){3}[0-9]{1,3}\b 表示匹配完整的IP地址。

执行以上命令后,会输出所有匹配到的IP地址。如果需要去重,可以使用sortuniq命令:

grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" nohup.out | sort | uniq

linux中如何提取日志文件中的所有IP地址?_IP_02


举报

相关推荐

0 条评论