我以前从未使用过Python或Perl。由于不可预见的情况,我从工作中得到了一个项目,希望你们中的一个人能帮忙。我们将BRO用于IDS系统。我应该写一个脚本,打开一个日志文件(.gz格式),在日志中搜索保存在文本文件中的关键字列表,排除任何在另一个文件中列出关键字的结果,然后将这些结果输出到一个新的.gz中。它应该每天运行3次。我不知道从哪里开始,但任何帮助都会非常有帮助,非常感谢。
ahh经过几次重读,我想我开始看到这个问题了IDS和BRO与问题完全无关并且实际上混淆了问题
我想我可以把你的问题分解成几个子问题
问题1.如何打开gzip编码的文件进行阅读
import gzip
with gzip.GzipFile("/path/to/some_log_file.gz") as input_plaintext_filehandle:
for line in input_plaintext_filehandle:
print line
问题2如何写入gzip文件
import gzip
with gzip.GzipFile("/path/to/some_log_file.gz","w") as output_file:
output_file.write("Hello GZIP World")
问题3如何根据wordlist.txt筛选出行
words = set(open("wordlist.txt").read().split())
for line in open_file_handle:
if words.intersection(line.split()):
print "Match Found"
else:
print "No Match Found"
我认为这应该给你足够的时间开始解决这个问题。一旦你陷入困境,可以随时回来,并有一些代码来显示