Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
ressource:logiciel:manipulation_pdf:start [2026/05/13 15:52]
emoc [Extraire toutes les images d'un pdf]
ressource:logiciel:manipulation_pdf:start [2026/05/13 17:08] (Version actuelle)
emoc [Extraire tous les mots d'un pdf]
Ligne 129: Ligne 129:
 ==== Extraire tous les mots d'un pdf ==== ==== Extraire tous les mots d'un pdf ====
  
-Compter les occurences de chaque mot après avoir élimine ​les mots de moins de 3 lettres +Compter les occurences de chaque mot après avoir éliminé ​les mots de moins de 3 lettres 
-<code bash>+ 
 +''​sudo apt install poppler-utils''​ 
 + 
 +<code bash frequence-mots.sh>
 pdftotext "​$1"​ - \ pdftotext "​$1"​ - \
-  | tr -cs '[:alpha:​]'​ '\n' \ +  | perl -CS -ne 'while (/(\p{L}+(?:-\p{L}+)*)/​g) { print lc($1), "\n"; }' \
-  | tr '​[:​upper:​]'​ '​[:​lower:​]' \+
   | awk '​length($0) >= 3' \   | awk '​length($0) >= 3' \
   | sort \   | sort \
   | uniq -c \   | uniq -c \
   | sort -nr   | sort -nr
 +</​code>​
 +
 +Usage : ''​frequence-mots.sh fichier.pdf > liste_mots.txt''​ \\
 +
 +**Détails** : \\
 +''​perl -CS -ne''​ : CS pour travailelr en unicode (lettres accentuées,​ etc.), n pour traiter ligne par ligne, e pour fournir le code perl directement sur la ligne de commande \\
 +''​while (/​(\p{L}+(?:​-\p{L}+)*)/​g) { print lc($1), "​\n";​ }''​ : code perl qui se répète tant que l'​expression régulière trouve des mots (les mots composés avec tiret sont considérés comme un seul mot), $1 contient le mot trouvé, lc($1) le transforme en minuscule \\
 +''​awk '​length($0) >= 3'''​ : seuls les mots de plus de 3 lettres sont conservés \\
 +''​sort''​ : tri par ordre alphabétique \\
 +''​uniq -c''​ : regroupe les mots identiques sur la même ligne, préfixé par le nombre d'​occurences \\
 +''​sort -nr''​ : tri numérique des lignes en ordre décroissant  ​
 +
 +Utile pour réordonner le fichier par ordre alphabétique et insensible à la casse : 
 +<code bash>
 +LC_ALL=fr_FR.UTF-8 sort -f -o lexique.txt lexique.txt
 </​code>​ </​code>​
  
  • ressource/logiciel/manipulation_pdf/start.1778680346.txt.gz
  • Dernière modification: 2026/05/13 15:52
  • par emoc