我有一个脚本,可以telnet到一个盒子中,运行一个命令并保存输出。在解析完输出文件后,我运行另一个脚本,将它与位于另一个文件中的关键词进行比较以进行匹配。如果一行匹配,它应该将整行(从原始telnet输出)保存到一个新文件。比较数组匹配的字符串
这里是一个与解析文本涉及脚本的一部分:
def parse_file
filter = []
temp_file = File.open('C:\Ruby193\scripts\PARSED_TRIAL.txt', 'a+')
t = File.open('C:\Ruby193\scripts\TRIAL_output_log.txt')
filter = File.open('C:\Ruby193\scripts\Filtered_text.txt').readlines
t.each do |line|
filter.each do |segment|
if (line =~ /#{segment}/)
temp_file.puts line
end
end
end
t.close()
temp_file.close()
end
目前,它只是节省了位于阵列filter
上次运行字符串和保存,为temp_file
。它看起来像循环不会运行数组中的所有字符串,或不会全部保存它们。我有五个字符串放在文本文件Filtered_text.txt
内。它只打印我的最后匹配的行到temp_file
。
您是否在寻找字符串匹配,或整个单词?目前,您将获得子字符串匹配,并且您将跳过与字符大小写不匹配的任何潜在匹配。 –