[..] Filtrer fichier texte à partir d'une whitelist

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
yeye5678
Niveau 1
Niveau 1
Messages : 1
Enregistré le : dim. 19 juin 2011 17:15
Status : Hors ligne

[..] Filtrer fichier texte à partir d'une whitelist

#1

Message par yeye5678 »

Bonjour, j'essaye de faire un script autoit permettant à partir d'un fichier de logs source (taille importante = 100 Mo) d'obtenir toutes les occurrences non contenues dans un fichier texte Whitelist

exemple: logs source http://www.google.fr http://www.google.com http://www.autoit.fr http://www.yahoo.fr

fichier texte whitelist : google autoit

Resultat: http://www.yahoo.fr

Quelles seraient les fonctions les plus appropriées pour effectuer ce genre de traitement ????
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Filtrer fichier texte à partir d'une whitelist

#2

Message par jchd »

Si ce n'est pas destiné à un PC à pédales, on a de la mémoire et du CPU. Donc on charge ligne par ligne dans une table SQLite en éclatant sur sous-domaines et on filtre par une contrainte SQL. Si l'éclatement risque de poser problème, on ne met pas de contrainte et on charge brutalement, puis on se fait un gros delete sur LIKE '%' || <entrée de whitelist' || '%' (prévoir un délai dans ce cas).

Est-ce que ça conviendrait ainsi ?
Ta whitelist a-t-elle bien le format :
http://<serveur1>
http://<serveur2>
...
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
grimgrim44
Niveau 1
Niveau 1
Messages : 7
Enregistré le : mer. 30 juin 2010 19:02
Status : Hors ligne

Re: [..] Filtrer fichier texte à partir d'une whitelist

#3

Message par grimgrim44 »

l'idée de jchd est bonne,

si dans ton log il s'agit d'une succession de site web, le mieux est de transformer ton logs source dans une table SQL où tu ajoute chaque site. je suppose qu'il faudra travailler ton logs pour avoir que le debut de l'adresse WEB du genre http://www.google.fr/ au lieu de http://www.google.fr/#q=autoit

tu ajoute ta whitelist sur une 2eme table SQL et tu fait une requete SELECT du style :

SELECT LOG.log_adresse
FROM LOG LEFT JOIN WHITLIST ON LOG.log_adresse = WHITLIST.adresse
WHERE (((WHITLIST.adresse) Is Null));
Répondre