[slocate]rechercher à l'interieur des fichiers une expression ?

rechercher à l'interieur des fichiers une expression ? [slocate] - Divers - Linux et OS Alternatifs

Marsh Posté le 11-07-2004 à 19:48:59    

je voulais savoir s'il y avait moyen de chercher à l'interieur des fichiers .doc, par exemple, une expression precise ("Les applications des VPN" par exemple).
 
je sais que sous windows 2K, c'est possible mais avec slocate je n'ai pas trouvé d'option la dessus.
 
j'ai vu qu'il y a avait l'option -r pour rechercher une expression :

Citation :


       -r exp_reg
              Recherche l'expression régulière (compatible POSIX) exp_reg.


mais est ce que cela recherche à l'interieur des fichiers
 
 
 

Reply

Marsh Posté le 11-07-2004 à 19:48:59   

Reply

Marsh Posté le 12-07-2004 à 00:03:51    

up

Reply

Marsh Posté le 12-07-2004 à 01:09:20    

Bon
 
 
déja, en fait, locate, c'est une base de donnée des fichiers du fs, et la recherche se fait uniquement sur les noms de fichier.
 
 
Après, ce que ton 2000te fait, c'est d'abord localiser plus ou moins efficacement tous les fichiers .doc de ton système, et ensuite rechercher dans ces fichiers les occurences de ton texte.
 
W2k mélange les fonctions. Renseigne toi sur l'utilitaire grep qui permet d'extraire les lignes qui "matchent" d'un fichier.


---------------
Bitcoin, Magical Thinking, and Political Ideology
Reply

Marsh Posté le 12-07-2004 à 09:16:38    

grep n'ira pas chercher dans un fichier doc

Reply

Marsh Posté le 12-07-2004 à 11:10:03    

L'outils de recherche de fichiers de KDE permet de faire facilement des critères de sélection de fichiers et de recherche dans le contenu.
 
Mais par contre, si tu veux rechercher dans du .doc :/, là faut y aller à coup de find, string et grep ...

Reply

Marsh Posté le 12-07-2004 à 11:11:27    

find /oùTuVeux -type f | grep doc | xargs grep "tachaine"

Reply

Marsh Posté le 12-07-2004 à 11:12:42    

pour rechercher à l'intérieur de fichiers textes :
grep -R ta_chaine /ton/chemin/de/départ
 
pour tes fichiers doc, regarde du coté d'antiword (qui doit extraire le texte d'un .doc) voir si tu ne peux le mettre dans une boucle


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 12-07-2004 à 13:43:55    

oui j'avais fais un jour un grep -R /, pour faire un grep recursif sur la racine, mais ou que c'est long, ca mets plus de 24 heures ...
 
j'ai essaiyé de faire  

Code :
  1. [weed@localhost Documents]$ grep DESCRIPTIF DOSSIER_CANDIDATURE.doc
  2. [alex@localhost Documents]$ grep DESCRIPTIF DOSSIER_CANDIDATURE.sxw


 
que ce soit pour sur un .swx ou .doc, grep ne retourne rien alors que le mot descriptif est bien present dans le document
 
arghbis > pas mal ton astuce, je connaissais pas xargs, c'est une fonction ultra puissante. Tout les fichiers doc sont passé comme premier argument dans le grep "lachaine".
 
 
Mjules > je vais voire ca du coté de antiword alors  
j'ai vu un site pas mal  
http://www.winfield.demon.nl/
et en plus il est present dans mes sources ;)
[root@localhost cron.weekly]# urpmq -gr antiword
Text tools/antiword-0.35-1mdk
 
 
par contre pour open-office, y aurait il antiopenoffice ou pas ? car les grep .swx ne fonctionnent pas.

Reply

Marsh Posté le 12-07-2004 à 13:50:31    

mouais c'est normal, ce sont des fichiers binaires. C'est strange quand même. il me semblait que oo stockait ses données en fichiers xml. remarque si ça se trouve, c'est du xml compressé...

Reply

Marsh Posté le 12-07-2004 à 15:59:07    

arghbis a écrit :

remarque si ça se trouve, c'est du xml compressé...


 
Oui c'en est ;)
 
Il y a en fait plusieurs ficheirs dans l'archive ... le texte, le style, les images, ...

Reply

Marsh Posté le 12-07-2004 à 15:59:07   

Reply

Marsh Posté le 12-07-2004 à 17:57:28    

et c'est compressé avec zip


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 12-07-2004 à 18:22:38    

je ne sais pas si cela un rapport avec ca, sous win32 on peut ouvrir un fichier en mode binaire ou en mode texte en language C/C++, sous linux on a pas le choix, il n'y a que le binaire ....
 
 
je pense pas que ce soit si compliqué. En simplifiant, dans la base de donnée, il suffirait de creer un champs type.  
Et si le fichier est un fichier texte, on copie dans une autre table,  
- dans le 1er champs : le numéro de l'inode du fichier  
- dans le 2ème champs: les données extraicte du fichiers ...
 
Enfin bon linux, a interet a retrousser ses manche s'il veut faire face aux nouveaux moteurs de recherche avec son nouveau fs (winfs).

Reply

Marsh Posté le 12-07-2004 à 18:25:04    

weed a écrit :

je ne sais pas si cela un rapport avec ca, sous win32 on peut ouvrir un fichier en mode binaire ou en mode texte en language C/C++, sous linux on a pas le choix, il n'y a que le binaire .... ça j'en doute, tu ne peux pas remonter à un source depuis un binaire, au mieux tu peux le désassembler
 
 
je pense pas que ce soit si compliqué. En simplifiant, dans la base de donnée, il suffirait de creer un champs type.  
Et si le fichier est un fichier texte, on copie dans une autre table,  
- dans le 1er champs : le numéro de l'inode du fichier  
- dans le 2ème champs: les données extraicte du fichiers ...
 
Enfin bon linux, a interet a retrousser ses manche s'il veut faire face aux nouveaux moteurs de recherche avec son nouveau fs (winfs).


Message édité par Mjules le 12-07-2004 à 18:30:45

---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 12-07-2004 à 18:52:57    

Mjules tu veux que l'on peut pas ouvrir un fichier en mode texte si le fichier est un fichier binaire. Bien entendu, tu as tout à fais raison. Ce que je foulais dis, on fais un open ("mon_fichier","rt" ) si le fichier a été precedemment enregistré en mode texte open ("mon_fichier","wt" ).


Message édité par weed le 12-07-2004 à 18:53:45
Reply

Marsh Posté le 12-07-2004 à 20:23:58    

weed a écrit :

je ne sais pas si cela un rapport avec ca, sous win32 on peut ouvrir un fichier en mode binaire ou en mode texte en language C/C++, sous linux on a pas le choix, il n'y a que le binaire ....


 
rien à voir
 
un fichier, ça reste toujours du binaire.
La c'est l'interprétation que tu vas faire de tes données. (des octets que tu lis)
 

weed a écrit :


je pense pas que ce soit si compliqué. En simplifiant, dans la base de donnée, il suffirait de creer un champs type.  
Et si le fichier est un fichier texte, on copie dans une autre table,  
- dans le 1er champs : le numéro de l'inode du fichier  
- dans le 2ème champs: les données extraicte du fichiers ...


Ah bein ouais, seulement, ça va ramer méchant avec ta base de donnée qui fait 120 Go [:tilleul]  
 

weed a écrit :


Enfin bon linux, a interet a retrousser ses manche s'il veut faire face aux nouveaux moteurs de recherche avec son nouveau fs (winfs).


Ah bein ouais, vu que le winfs, c'est rien qu'une surcouche à ntfs  [:tilleul]


---------------
Bitcoin, Magical Thinking, and Political Ideology
Reply

Marsh Posté le 12-07-2004 à 22:38:14    

winfs? le fs wui gagne?? ça c inventif comme nom [:pfff:]

Reply

Marsh Posté le 13-07-2004 à 18:48:14    

En meme temps, WinFS c'est une bete locatedb, peut etre avec plus de champs et une integration niveau noyau, mais est-ce vraiment une bonne idée ???

Reply

Marsh Posté le 13-07-2004 à 19:08:07    

ben c'est un moyen coercitif de plus, s'tout

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed