是的,可以通过编写脚本来实现该功能。以下是一个示例代码,用于查找包含特定单词的每行之前最后一个IP并进行打印:
import re
def print_last_ip(lines, keyword):
ip_pattern = r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"
last_ip = None
for line in lines:
match = re.search(ip_pattern, line)
if match:
last_ip = match.group()
if keyword in line and last_ip:
print(last_ip)
# 示例用法
lines = [
"2021-01-01 10:00:00 192.168.0.1 - User logged in",
"2021-01-01 10:01:00 192.168.0.2 - Error occurred",
"2021-01-01 10:02:00 192.168.0.3 - User logged in",
"2021-01-01 10:03:00 192.168.0.4 - Access granted",
"2021-01-01 10:04:00 192.168.0.5 - Error occurred"
]
keyword = "Error"
print_last_ip(lines, keyword)
该脚本首先定义了一个用于匹配IP地址的正则表达式模式。然后,它遍历给定的文本行,查找每行中的最后一个IP地址,并在遇到包含特定单词的行时打印该IP地址。
在这个示例中,我们遍历了一个包含多个日志行的列表,并在遇到包含关键字"Error"的行时打印该行之前的最后一个IP地址。
请注意,这只是一个简单示例,实际应用中可能需要根据具体需求进行适当的调整和优化。
腾讯云相关产品和产品介绍链接地址:
请注意,以上推荐的腾讯云产品仅为示例,实际选择应根据具体需求进行评估和决策。
领取专属 10元无门槛券
手把手带您无忧上云