我有一個腳本,可以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
。
您是否在尋找字符串匹配,或整個單詞?目前,您將獲得子字符串匹配,並且您將跳過與字符大小寫不匹配的任何潛在匹配。 –