WordScanneur : un script de détection de mots-clés dans un fichier

Suite à mes investigations en ce qui concerne la détection de la présence de mots spécifiques du New Age dans de longs textes à analyser, j’ai réussi à concevoir un programme écrit en langage Perl et destiné à ce but.

 

Voici le code source du programme wordscanneur.pl :

#!/usr/bin/perl
open(FILE, « SOURCE ») or die(« ERREUR »);
open(DST, « >>code.sh »);

while (<FILE>) {
print DST  » « ;
print DST « echo == $_ « ;
print DST  » « ;
print DST « cat DOCUMENT | grep $_ »;
}
close(FILE);
close(DST);
print « OK ! \n\n »;
sleep(2);
`chmod +x code.sh`;

 

Ensuite, on exécute de cette façon dans un terminal shell :

./wordscanneur.pl ; ./code.sh >> wordscan.log

Explication sur le fonctionnement du programme :

Il faut que le programme Perl, ainsi que la liste des mots-clés (structurés ligne par ligne) dans le fichier nommé SOURCE, et ainsi que le fichier DOCUMENT (qui est le fichier, pouvant être gros, à analyser), soient tous dans le même répertoire.

Le programme Perl génère un fichier Bash nommé code.sh qui est automatiquement rendu exécutable. Ensuite, le fichier wordscan.log est créé et il contient le résultat de l’analyse. Quand un des mots-clés est détecté, le script enregistre dans le log un paragraphe entier (jusqu’au caractère de retour de ligne) qui contient un mot-clé prédéfini.

Chaque mot-clé est recherché un à un dans tout le texte à analyser. Cela va plus loin que Google qui cherche un seul mot-clé parmi une ligne de mots dans une requête ou qui cherche la totalité des mots en un bloc. Tout ou un seul, ça ne donne pas grand-chose via Google. Mais analyser un texte en testant chaque mot-clé, un par un, ça marche tellement mieux !

Testé avec succès sous Linux.   😉

Cela fonctionne pour les fichiers au format ASCII, pas pour les fichiers binaires.

 

© 2014 John Philip C. Manson

 

Publicités