[Shell] Petit problème de grep

Petit problème de grep [Shell] - Shell/Batch - Programmation

Marsh Posté le 14-05-2003 à 16:59:20    

Bonjour :hello:
 
J'ai un corpus de texte, et je cherche à savoir comment et combien de fois sont écris par exemple 'fièvre jaune'.
 
On peut le retrouver comme ca :
FIEVRE JAUNE, Fievre jaune, Fièvre jaune, Fievre Jaune, Fièvre Jaune ... bref, je fait donc un tit grep.
 
grep -io 'fi[eè]vre jaune' corpus.txt |sort | uniq -c
 
Probleme, il se fout royalement de mon -i. Les 'Fièvre Jaune' et 'FIEVRE JAUNE' ne sont pas extraits.
Si j'enleve le -o, ca marche, mais je peux pas m'en passer pour la suite des opérations.
 
 
Question : Est ce moi qui n'ai rien compris au grep (probable), ou bien y a t il un bug (heuuu, j'y crois à mort).
 
Merci :hello:

Reply

Marsh Posté le 14-05-2003 à 16:59:20   

Reply

Marsh Posté le 14-05-2003 à 17:03:01    

ben au pire :
grep -o '[Ff][Ii][eè]....' corpus.txt |sort | uniq -c


---------------
get amaroK plugin
Reply

Marsh Posté le 14-05-2003 à 17:04:45    

Heuuu au fait, c'est quoi ton option "-o", paske moi, je l'ai pas ...  :??:


---------------
get amaroK plugin
Reply

Marsh Posté le 14-05-2003 à 17:07:52    

J'y ai pensé ;)
Et j'ai même fait un tit truc en php pour transformer fievre jaune en    
[Ff][Iiîï][Eéeèêë][Vv][Rr][Eéeèêë] [Jj][Aaâäà][Uuûüù][Nn][Eéeèêë] :D
 
Le soucis, c'est qu'alors, le -w, il ne le prend pas en compte. Par exmple, quand je recherche [iîïI][lL] pour IL (interleukines), il me trouve des 'îl', alors qu'il n'y a de îl que dans 'îlots' par exmple.
Donc, dans ce cas, il ne me prend pas le -w :cry:
 
 
Une histoire de fou :pt1cable:. Et moi qui pensait qu'Unix c'était béton  [:ogmios]

Reply

Marsh Posté le 14-05-2003 à 17:08:30    

bobuse a écrit :

Heuuu au fait, c'est quoi ton option "-o", paske moi, je l'ai pas ...  :??:  


 
 -o, --only-matching
              Show only the part of a matching line that matches PATTERN.

Reply

Marsh Posté le 14-05-2003 à 17:54:32    

Bon, ben, il semblerait que le -o ne soit pas inclus dans toutes les distrib. J'ai une Mandrake 9.1 pour info. Mais je penses de plus en plus qu'il s'agit d'un bug  [:daplopbot]  
 
Bon, j'ai resolu le problème avec du Perl :
 
 
open(IN,$ARGV[0]);
 
while (<IN> ) {
    if ($_=~s/(.*)(fi[ée]vre jaune)\b(.*)/$2/i) {
print $_;
    }
}
 
Enfin, je vais peut être envoyer un bug report du coup :D

Reply

Marsh Posté le 15-05-2003 à 15:41:35    

Petite question avant de faire une connerie ...
 
Pour vous, s'agit il d'un bug ou pas ? J'ai pas envie de les emm... embeter pour rien :jap:

Reply

Sujets relatifs:

Leave a Replay

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