Saya akan menggunakan python. Setiap batang linux saat ini telah menginstal python2.
Tambahkan setiap alamat ip ke dalam dict (array asosiatif) sebagai kunci = pasangan nilai yaitu {"12.34.56.78": 1, "87.76.43.21": 3}.
Anda 'memverifikasi' alamat ip sebagai kunci dan menambah nilainya dengan 1. Jika Anda menggunakan defaultdict ("ip"), jika kunci tidak ada, itu dibuat dengan nilai default 0. Jika kunci memang ada sudah, defaultdict tidak melakukan apa-apa. Nilai bertambah pada baris berikutnya.
#!/usr/bin/python2
infile = open("file.txt","r")
iplist = {} # create an empty dict
for line in infile:
line = line.strip() # remove newline.
if line: # if not a blank line.
iplist.setdefault(line, 0) # check for ip and add with default value of 0
iplist[line] += 1 # increment
outfile = open("out.txt","w") #open output file
for key in iplist.keys():
line = "%-15s = %s" % (key, iplist[key])
print line # print uf desired.
outfile.write(line + "\n")
file keluar:
cat out.txt
27.33.65.2 = 2
58.161.137.7 = 1
121.50.198.5 = 1
184.173.187.1 = 3
Saya tahu Anda mencari solusi baris perintah, tetapi seperti yang Anda lihat, ini adalah tampilan yang diformat secara elegan yang hanya membutuhkan sekitar selusin baris. Python adalah alat yang sangat baik untuk administrasi.