我正在尝试编写一个简单的ruby脚本来解析一些设备配置。
我正在逐行读取txt文件中的配置,如果我遇到匹配项,我想将这些行读入array
并将array
粘贴到输出文件中。
if $match == 1
my_array.insert($j,/#{line}/)
$j += 1
somefile_log.puts ("DEBUG : Array at #{$j} is #{my_array[$j]}")
我搞砸了索引方面。
**J**
递增但array
值与其读取的第一行保持一致。想法?
答案 0 :(得分:0)
这是一个完整的混乱。在ruby中,我们将通过以下方式完成:
match = /TEST/ # no need for global variables
result = File.readlines('/foo/bar/file.name').select do |line|
line =~ match
end
result.each_with_index do |line, idx|
somefile_log.puts "DEBUG : Array at #{idx} is #{line}"
end
或者,甚至更好,
File.readlines.grep(match)
正如JörgW。Mittag的评论中所建议的