Utilisateur:Cunegonde1/Script S longs

Présentation du scriptModifier

Pour modifier des mots dans un fichier, on peut utiliser le programme "sed". La syntaxe à utiliser dans un terminal est : sed 's/mot_initial/mot_changé/g; s/mot_initial2/mot_changé2/g;' mon_texte.txt > mon_texte_modifie.txt. Explication : sed 's/ (s pour substitute)…/…/g (g pour global, qui change le mot dans tout le texte sélectionné). Partant du code ci-dessus on peut intégrer le principe de ces expressions dans un petit programme Perl, qui enchaîne les commandes en utilisant un mini-dictionnaire d'environ 630 fragments de mots, mots complets, ou motifs (ceff eufe, defc, …). L’utilité des expressions régulières est de contrôler le changement sur un mot complet (fi, fa, fon…) et ne pas en opérer sur un motif comme dans famille, fontaine… On peut aussi mettre des "motifs" à condition de vérifier avant qu’ils ne produisent pas de faux positifs (ie ffeffe comme dans groſſeſſe car il n’existe qu'un faux positif utilisant ce motif : cheffesse) que l’on n'a peu de chance de rencontrer.


Pour utiliser le script il faut le copier dans un fichier texte et lui donner la permission d’exécution [chmod 755 mon_fichier)].

Si vous souhaitez modifier le script après avoir constaté qu’un mot est absent du dictionnaire, vérifiez qu’il ne corresponde pas à un motif dans la liste. Attention également à l’ordre dans lequel se trouve les mots ou les motifs, c’est important pour éviter de passer à côté de mots avec 2 s longs, par exemple si je teste d’abord le motif "laif" comme dans glaiſe, avant le motif "laiff" comme dans laiſſera j’obtiendrai "il laiſfera" au lieu de "il laiſſera".

Après avoir supprimé les césures de mots tronqués, le script teste dans l’ordre :

  • 1. des mots complets ou des fragments de mots
  • 2. des mots délimités.
  • 3. des motifs.
  • 4. des caractères de ponctuation.
  • 5. des éléments de mise en page (ie espace avant virgule).

Script Perl pour Linux et MacOs (Windows ?)Modifier