J'essaie de voir combien de fois une chaîne se produit dans la colonne 4. Plus précisément combien de fois un numéro de port se produit dans certaines données Netflow. Il y a des milliers de ports donc je ne cherche rien d'autre que la récursivité. J'ai déjà analysé dans la colonne en utilisant les nombres après les deux points et je veux que le code vérifie combien de fois ce nombre se produit ainsi la sortie finale devrait imprimer le nombre avec combien de fois cela s'est produit commeCompte combien de fois une chaîne se produit dans une colonne spécifique
[SORTIE ]
Port: 80 found: 3 times.
Port: 53 found: 2 times.
Port: 21 found: 1 times.
[CODE]
import re
frequency = {}
file = open('/Users/rojeliomaestas/Desktop/nettest2.txt', 'r')
with open('/Users/rojeliomaestas/Desktop/nettest2.txt', 'r') as infile:
next(infile)
for line in infile:
data = line.split()[4].split(":")[1]
text_string = file.read().lower()
match_pattern = re.findall(data, text_string)
for word in match_pattern:
count = frequency.get(word,0)
frequency[word] = count + 1
frequency_list = frequency.keys()
for words in frequency_list:
print ("port:", words,"found:", frequency[words], "times.")
[DOSSIER]
Date first seen Duration Proto Src IP Addr:Port Dst IP Addr:Port Packets Bytes Flows
2017-04-02 12:07:32.079 9.298 UDP 8.8.8.8:80 -> 205.166.231.250:8080 1 345 1
2017-04-02 12:08:32.079 9.298 TCP 8.8.8.8:53 -> 205.166.231.250:80 1 75 1
2017-04-02 12:08:32.079 9.298 TCP 8.8.8.8:80 -> 205.166.231.250:69 1 875 1
2017-04-02 12:08:32.079 9.298 TCP 8.8.8.8:53 -> 205.166.231.250:443 1 275 1
2017-04-02 12:08:32.079 9.298 UDP 8.8.8.8:80 -> 205.166.231.250:23 1 842 1
2017-04-02 12:08:32.079 9.298 TCP 8.8.8.8:21 -> 205.166.231.250:25 1 146 1
OK. Quelle est ta question? –
Incidemment, pourquoi utilisez-vous 'file.read' * et *' pour line in infile'? Cela semble aboyer. –
La boucle de sortie finale doit également être: 'pour port, comptez dans d.items(): print (" port: ", port," trouvé: ", count," times. ")' - utilisez 'iteritems' si vous sont bloqués sur Python 2.7. –