আমি পাইথন ব্যবহার করতাম। আজকাল প্রতিটি লিনাক্স স্টেস্টেমে পাইথন 2 ইনস্টল করা আছে।
প্রতিটি আইপি ঠিকানাটি একটি ডিকের (একসোভেটিভ অ্যারে) হিসাবে কী = মান জোড় হিসাবে {"12.34.56.78": 1, "87.76.43.21": 3 into হিসাবে যুক্ত করুন}
আপনি আইপি ঠিকানাটি একটি কী হিসাবে 'যাচাই' করেন এবং মানটি 1 দ্বারা বৃদ্ধি করেন যদি আপনি ডিফল্টডিক্ট ("আইপি") ব্যবহার করেন, যদি কীটি বিদ্যমান না থাকে তবে এটি 0 এর একটি ডিফল্ট মান দিয়ে তৈরি করা হয় যদি কীটি বিদ্যমান না থাকে ইতিমধ্যে, ডিফল্টডিক্ট কিছুই করে না। পরবর্তী লাইনে মান বৃদ্ধি করা হয়।
#!/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")
আউটআউট ফাইল:
cat out.txt
27.33.65.2 = 2
58.161.137.7 = 1
121.50.198.5 = 1
184.173.187.1 = 3
আমি জানি আপনি একটি কমান্ড লাইন সমাধান খুঁজছিলেন, তবে আপনি দেখতে পাচ্ছেন এটি একটি মার্জিত বিন্যাসযুক্ত প্রদর্শন যা কেবলমাত্র এক ডজন লাইন ধরেছিল। পাইথন প্রশাসনের জন্য একটি দুর্দান্ত সরঞ্জাম।