#!/usr/bin/ruby
require "rubygems"
require "fastercsv"
scannedIPs = Hash.new(0)
count = 0
ips = []
FCSV.foreach("HOUND-1.csv", :headers => true, :skip_blanks => false) do |row|
text = row[1]
ips << text if text # you need the 'if text' for the nil objects.
end
num_unique = ips.uniq.length
Теперь num_unique
будет иметь нужное вам значение.
Edit:
Если вы хотите получить доступ к счетчику частот для определенного IP, сделайте следующее:
#!/usr/bin/ruby
require "rubygems"
require "fastercsv"
scannedIPs = Hash.new(0)
count = 0
ips = Hash.new {|h, k| h[k] = 0 }
FCSV.foreach("HOUND-1.csv", :headers => true, :skip_blanks => false) do |row|
text = row[1]
ips[text] += 1 if text
end
Теперь «ips» - это хэш IP-адресов и их частот.
Чтобы получить доступ к конкретному, сделайте это:
ips['192.168.0.1'] #=> 0
ips['10.1.3.110'] #=> a big number