Table des matières
Retrouver un fichier contenant un texte particulier
Si comme moi parfois vous ne savez plus dans quel fichier il y avait un sujet particulier, voici comment faire avec quelques commandes Linux:
Tout dépend du type de fichier dans lequel vous rechercher l'information…
1. Fichiers de type texte non compressé
Il ne s'agit pas de texte issu d'un traitement de texte, pour ça voir 4°
Utilisation de la commande egrep :
Cette commande recherche un ou des motifs dans les fichiers passés en paramètres. La syntaxe de base est :
egrep [options] motif fichiers
exemple:
egrep -a1 liber CITATIONS/*.txt
⇒ rechercher le motif 'liber' dans tous les fichiers d'extension .txt du dossier CITATION
Citations_liberté.txt- Citations_liberté.txt:La liberté signifie responsabilité. C'est pourquoi la plupart des hommes la redoutent. Citations_liberté.txt- George Bernard Shaw Citations_politique.txt- Citations_politique.txt:Tandis que l'État existe, pas de liberté ; quand régnera la liberté, il n'y aura plus d'État. Citations_politique.txt- Lénine, Source : L'État et la Révolution
Ici l'option -a1 permet de récupérer, en plus des lignes qui correspondent au motif cherché, une ligne avant et une ligne après.
egrep utilise les expression régulières, c'est à dire qu'on peut lui donner des motifs assez complexes à rechercher en combinant des caractères spéciaux:
- * : joker pour n caractères
- . : joker pour un caractère
- ^ : début de mot
- $ : fin de mot
- | : alternative (ou)
et d'autres… (voir url du tutoriel plus bas)
Dans l'exemple ci-dessus, pour récupérer aussi les citations parlant de “libération”, il faut utiliser le caractère joker “.” :
egrep -a1 'lib.r' CITATIONS/*.txt
⇒ permet la correspondance avec “liberterté” ou “libération”,
Pour récupérer des motifs très différents les uns des autres il faut passer par le caractère “ou” |:
egrep 'femme|homme|mariage' CITATIONS/*.txt
Quand des caractères spéciaux sont inclus dans le motif, il faut que la chaine soit encadrée de ' '
Parmi les options les plus utiles:
- -i : (ignore case) ne tient pas compte des differences minuscules/majuscules
- -R : récursif, permet de chercher un motifs en descendant dans les dossiers de plus bas niveau:
grep -R motif dossier
- -l : (list) ne fait qu'afficher le nom des fichiers qui contiennent le motif cherché
- -c : (count): ne fait que compter le nombre d'occurrences dans chaque fichier du motif cherché
- -n : affiche le numéro de ligne ou le motif a été trouvé
- -w : (word) le motif cherché doit correspondre à un mot complet (et non une partie de mot comme le fonctionnement de base)
NB: si on cherche une chaine sans aucun caractère spécial on peut utiliser grep (sans e initial)
voir man grep
et man egrep
pour l'étendue des possibilités…
2. Fichiers texte compressés
Utilisation de zegrep ou zgrep. Syntaxe de base:
zegrep [options] motif fichiers
Le mêmes options que pour les commandes egrep/grep sont disponibles.
3. Fichiers pdf
Il faut installer la commande pdfgrep. Voir vos distributions respectives pour trouver et installer le paquet…
- pour ubuntu, debian:
sudo apt-get install pdfgrep
- pour mageia :
urpmi pdfgrep
La syntaxe de base est semblable à celle de grep:
pdfgrep [options] motif fichiers
man pdfgrep
pour avoir les diverses options disponibles.
4. Fichiers LibreOffice, OpenOffice et MS-Office (Word, Excel, Powerpoint en version > 2007)
Il faut installer loook, une petite application graphique python. Voir vos distributions respectives pour trouver et installer le paquet.
- pour ubuntu, debian:
sudo apt-get install loook
Si les dépôts de votre distribution ne le proposent pas, vous pouvez télécharger la version 0.6.8 sur le site du développeur initial(en) ou la version 0.8.6 sur le site du repreneur (de)
Le site initial dit: It works under Linux, Windows and Macintosh. mais sans préciser de version…
- Pour les distributions de la famille Debian, téléchargez loook_0.8.6-1_all.deb, puis installez le avec
sudo dpkg -i loook_0.8.6-1_all.deb
- Pour les distributions de la famille Redhat, il faut d'abord convertir en paquet rpm avec la commande alien (à installer aussi depuis les dépôts):
alien loook_0.8.6-1_all.deb -r
qui se termine par le message: loook-0.8.6-2.noarch.rpm generated- installer loook-0.8.6-2.noarch.rpm (par exemple sur mageia avec
urpmi loook-0.8.6-2.noarch.rpm
)
Utilisation :
- lancez l'application depuis le menu du bureau
- dans chemin de recherche sélectionnez un dossier ou se trouvent des documents LibreOffice,OpenOffice, Word/Excel
- tapez un ou plusieurs mots à rechercher (avec des blancs entre eux)
- si tous les mots doivent se trouver dans le document utilisez le mode ET, si un seul suffit utilisez le mode OU
116 visteurs.