ボックスに 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
ます。ループが配列内のすべての文字列を実行していないか、すべてを保存していないようです。テキスト ファイル内に 5 つの文字列が配置されていますFiltered_text.txt
。最後に一致した行のみを に出力しtemp_file
ます。