Je recherche un outil pour chercher des chaines de caractères dans des fichiers. Le but n’est pas de trouver les fichiers, mais les chaines elle même.
La finalité de la chose c’est (dans le cas présent) de rechercher des adresses e-mail qui seraient dans des fichiers aussi divers que variés (textes, tableur, mails) …
Il me faudrait ça soit sous linux, soit sous windows.
T’as un outil fournit avec windows XP qui s’appelle findstr. Si il est pas installe par defaut il te faut installer les Windows XP Support tools qui sont sur le CD de windows XP. C’est facile a faire.
[quote]T’as un outil fournit avec windows XP qui s’appelle findstr. Si il est pas installe par defaut il te faut installer les Windows XP Support tools qui sont sur le CD de windows XP. C’est facile a faire.
Il y en a PLEIN que pas grand monde connait [/quote]Ah, merci bien … je vais aller voir ça tout de suite. Par contre, avant, faut du coup que je récupère mes fichiers sous linux et que je passe tout ça sur ma partoche XP (mais j’ai ce qu’il faut)
Bon, finalement soit je suis polio (c’est très possible) soit ça fait pas ce que je veux car le résultat obtenu ne correspond pas à ce dont j’ai besoin.
Euh… je comprends pas ton pb… notepad ne suffit pas ? Ni UltraEdit (qui permet d’ouvrir plusieurs fichiers et de faire la recherche dans ces dits fichiers) ?? tu veux faire ta recherche comment ?
Alors, mon pb c’est de récupérer les adresses mails qui doivent être réparties dans environ 12Go de données (fichiers textes, tableurs et bien entendu les mails eux même) et récupérer ça dans un fichier texte (par exemple). Donc les ouvrir 1 par 1 c’est inenvisageable. ATTENTION : je veux pas récupérer le nom des fichiers ou se trouvent les chaines de caractères recherchées, mais récupérer ces chaines (donc, les adresses mails identifiées par un @.*).
Le truc de glop à priori ne marche pas comme je voudrais (ou j’arrive pas à bien m’en servir ) et mes connaissances en linux étant très limitées, ben j’avoue ne pas connaître un fonction qui ferait ça.
Vala en gros.
Edit : à priori le binaire est exclu par contre. C’est juste dans des fichiers data (textes, comptes mails, tableurs …) Ce message a été édité par Electric_Boogie_Back le 29/09/2003
Sous Unix le petit outil (en ligne) strings fait ça sur n’importe quel type de fichier. L’environnement cygwin te permettra d’avoir cet outils sous Windows…
Pour faire ce genre de boulot rien ne vaut un bon script perl
Pour te donner un début de piste :
#Recupere la liste des fichier qui se trouve dans un répertoire
opendir(DIR, $srcdir) || die "can't opendir $srcdir: $!";
@File_List= readdir(DIR);
#tu peut même faire un grep sur le readdir histoire de ne récuperer que certains fichier
closedir DIR;
foreach $file (@File_List) {
open FILE, “$file” or die “open problem for $file : $@”;
while( ) {
chomp $;
if( /^w+@w+/ ) {
print FILE_MAIL "$
";
}
}
}
C’est fait à partir de plusieurs copier/coller d’un script que j’avais sous la main, donc ça ne marche pas direct, mais c’est un bon début pour commencer je pense.
[edit] ARF ! C’est quoi ces smilies qui se ramène dans le code …
la fonction recherche de windows xp ne le fait pas ?
quand je fais un recherche, il y a cette option:
rechercher un mot ou une phrase dans le document
c’eqst pas ca ? ou ca marche pas ?
Moi j’ai beaucoup ce soft, et je le trouve assez rapide, bien plus que la recherche dans les fichiers de mon Windows 2000, et en plus il accepte les expressions régulières.
Ouai non mais si tu y arrives pas c’est surement parceque les fichiers du type “tableur” et autre ils sont sauves en binaire et pas en texte en clair. Dans ce cas la recherche du type “search in file” de windows XP est faite pour avec chaque file type qui est capable de fournir une API pour la recherche, quel que soit le format du fichier…
Ou alors si c’est en texte en clair, findstr devrait y arriver sans probleme. Et si ca le formatte pas exactement comme tu veux tu prend notepad et tu ecrit un ptit prog en C# qui tu fait ca en 5 lignes. System.Text.RegularExpression c’est le namespace que tu veux Ce message a été édité par GloP le 12/11/2003