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 ????
[..] Filtrer fichier texte à partir d'une whitelist
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- jchd
- 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
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>
...
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

- Messages : 7
- Enregistré le : mer. 30 juin 2010 19:02
- Status : Hors ligne
Re: [..] Filtrer fichier texte à partir d'une whitelist
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));
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));
