Extraire les noms et les verbes du Lexique dans deux fichiers. - Divers - Programmation
Marsh Posté le 10-01-2013 à 15:02:27
j'ai fait ceci, mais ça marche pas parce que le ficher source est mal formaté apparement :
Code :
|
Marsh Posté le 10-01-2013 à 15:24:39
Et il vient d'ou ton fichier Lexique380-utf8.txt?
A+,
Marsh Posté le 10-01-2013 à 17:47:31
gilou a écrit : Et il vient d'ou ton fichier Lexique380-utf8.txt? |
De Lexique380.txt que 'jai converti de iso-8859.
Quant à lexique380.txt tu peux le trouver sur le site de Lexique.org Dans Bases et Scripts
Bonjour Gilou bise et meilleurs voeux.
Marsh Posté le 10-01-2013 à 18:39:02
J'en suis là, mais j'obtiens encore un résultat erroné.
awk '{ if ($4="NOM" ) print($3) }' Lexique380-utf8.txt > Noms-utf8.txt |
Marsh Posté le 11-01-2013 à 01:02:22
Ce script perl devrait coller pour NOM (rediriger sa sortie vers Noms.txt)
Code :
|
A+,
Marsh Posté le 11-01-2013 à 11:11:39
Salut Jovalise,
Je travaille avec cette "base". Perso, j'ai traité le fichier txt pour le transformer en BD Mysql (un champ en BD = une colonne dans le fichier). Pour les traitements, après, c'est beaucoup plus simple
Si tu veux, je peux t'envoyer par MP mon code php qui convertit le fichier txt en BD...
Marsh Posté le 11-01-2013 à 11:59:11
Merci Gilou, Avec Awk après j'ai extrait la la colonne qui m'intéresse, et un bout de code Ada pur supprimer les doublon, et c'est fait.
Merci rufo, Je connais rien à php encore, alors, pour le moment j'en ferait rien, mais merci.
Marsh Posté le 11-01-2013 à 15:09:24
Pour avoir la colonne qui t'intéressait, il suffisait de remplacer
print if (split(/\t/, $_))[3] ~~ /NOM/;
par
my @fields = split /\t/;
print $fields[j] if $fields[3] ~~ /NOM/;
ou j est le numéro de la colonne (numérotation débutant à 0)
A+,
Marsh Posté le 11-01-2013 à 15:55:08
gilou a écrit : Pour avoir la colonne qui t'intéressait, il suffisait de remplacer |
Avec ce code, j'ai tous les mots sur une seule ligne.
Merci Gilou. A+
Marsh Posté le 11-01-2013 à 16:57:17
Ben faut modifier en fonction de ses besoins:
print "$fields[j]\n" if $fields[3] ~~ /NOM/;
A+,
Marsh Posté le 11-01-2013 à 17:02:17
gilou a écrit : Ben faut modifier en fonction de ses besoins: |
Ah Ok, merci Gilou, je connais toujours pas du tout Perl, saufe que pour affichier un saut de ligne il faut un \n dans la chaîne, et encore, je suis pas certain.
Mais dès que j'aurait besoin d'un truc, je me débrouillerait tous seul, sauf si vraiment j'y arrive pas.
On peux encore causer quant même ?
Ou on ne s'exprime plus qu'au travers des programme que nous produisons ?
Marsh Posté le 11-01-2013 à 20:30:18
Citation : On peux encore causer quant même ? |
Sans pb!
Mais j'ai été quasiment absent de mon écran les 3/4 de le journées d'ou ma faible réactivité.
A+,
Marsh Posté le 11-01-2013 à 21:33:22
Merci encore Gilou ton code est plus efficace que mon awk.
Marsh Posté le 31-08-2017 à 16:10:49
Bonjour,
Je voudrais réutiliser le code perl de Gilou.
Ceci dis ça passe pas :
Code :
|
Citation : Smartmatch is experimental at ./name_extract.pl line 12. |
Comment refaire compiler ou interpréter ce code ?
Svp, ... Merci
Marsh Posté le 31-08-2017 à 18:10:02
j'ai lancé ça si non :
Code :
|
Marsh Posté le 31-08-2017 à 21:34:24
gilou a écrit : Pour avoir la colonne qui t'intéressait, il suffisait de remplacer |
Je sais pas comment je pouvais être plus clair:
ou j est le numéro de la colonne (numérotation débutant à 0)
Bref si tu veux la 137e colonne de ton tableau, tu remplaces j par 136 dans le code.
Pour que ça soit lisible, vaudra mieux faire print "$fields[j] " ou print "$fields[j]\n" d'ailleurs.
A+,
Marsh Posté le 10-01-2013 à 10:36:15
Bonjour, je souhaite extraire les verbes et les noms du Lexique380 dans deux fichiers nommées Verbes.txt et Noms.txt sans doublon dans chacun des fichiers résultants.
Je suis sur Gnu/linux,
Quelle serait votre solution s'il vous plaît.
Merci.