Bonjour je dois faire un script pour comparer deux fichier et je ne sais pas vraiment comment mi prendre..
fic1 du style
test robert anna jaques cyril
sb001 aa bb cc aa
sb002 aa cc bb uu
sb003 aa uu cc bb
fic 2 du style
test anais roberta jaques nicolas
sb002 aa cc—uu
sb008 aa cc bb uu
sb009 aa cc bb uu
pour le—c'est une donnée manquante
en faite je dois comparer les deux fichiers
en gros il doit ressortir un fichier3
comme celui la
test robert anna jaques cyril anais roberta nicolas
sb001 aa bb cc aa—-- --
sb002 aa cc bb uu aa cc—uu
sb003 aa uu cc bb—-- --
sb008—-- bb—aa cc uu
sb009—--bb—aa cc uu
pour resumer le fichier 3
on fusionne les données redondante exemple pour jaques qui est dans les deux fichiers
et on fusionne les données pour les test redondant comme sb002 dans l'exemple
merci si vous avez des pistes pour m'aider je rames…
# va relire ton cours ;)
Posté par NeoX . Évalué à 2.
typiquement ca ressemble à un devoir d'etudiant,
relire son cours serait deja une bonne piste.
ca va te parler :
- de boucles imbriquées
- de lire un fichier, ligne par ligne,
- de stocker/comparer des resultats
- puis d'ecrire dans un fichier de sortie
# re
Posté par nosuperman . Évalué à 0.
j'ai commencé le script
ouverture des fichiers
lectures
mais c'est au niveau de la comparaison que je sais pas comment mi prendre
[^] # Re: re
Posté par JGO . Évalué à 2.
Mettons que tu lises la première ligne de chaque fichier :
Tu décomposes les arguments :
Tu veux maintenant savoir si @args2 contient une des chaines de @args1. Même si tu ne vois pas de construction perl courte pour faire ça, tu dois bien savoir faire deux boucles imbriquées qui parcourent l'un et l'autre et regardent, pour chaque paramètre de @args1, s'il est dans @args2 et mémoriser la position. Si tu le prends comme ça c'est de l'algorithmique, y'a rien de spécifique à perl. Mais après ça dépend de ton cours, peut-être ton prof veut que tu utilises la construction map.
# re
Posté par nosuperman . Évalué à -1.
j'ai déjà fais toute la parti ouverture,
j'ai fai une boucle aussi pour une lecture pour toutes les lignes du fichiers jusqu'à la je pense être bon
c'est maintenant que je bloques c'est pas un exco pour un prof je suis en stage je dois travailler deux fichier excel pour en faire plus qu'un en fusionnant les doublon et en comparant chaque ligne pour remplir les données manquantes
# re
Posté par nosuperman . Évalué à -1.
comment on fait pour mettre le code sur le forum apparemment il veut pas me le publier…
comme ca je vous envoie ce que j'ai fai deja
[^] # Re: re
Posté par JGO . Évalué à 3.
Juste au dessous de la boite pour entrer un message, tu trouves « aide mémoire sur la syntaxe wiki » et ça t'explique comment on met du code et bien d'autres choses. Note que la prévisualisation fait correction orthographique.
# re
Posté par nosuperman . Évalué à -1. Dernière modification le 12 mars 2012 à 14:51.
code
[^] # Re: re
Posté par Framasky (site web personnel) . Évalué à 1.
Si tu tiens à nous donner ton code, utilise au moins un outil fait pour ça : http://pastebin.com/
Parce que ta capture d'écran, franchement, si on veut t'aider, on n'a pas forcément envie de tout réécrire.
Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.
[^] # Re: re
Posté par Framasky (site web personnel) . Évalué à 1.
Chier, le temps d'écrire et boum, je peux plus modifier… :(
Bon, sinon je vais être gentil : je pense que tu devrais utiliser une table de hashage, histoire de te retrouver avec un truc du genre
Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 2.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: re
Posté par Frank-N-Furter . Évalué à 4.
Le principe de Perl, c'est pas que l'on ne peut pas expliquer le code de quelqu'un d'autre? /o
Depending on the time of day, the French go either way.
[^] # Re: re
Posté par Framasky (site web personnel) . Évalué à 2.
Non, c'est de pas pouvoir expliquer son propre code 6 mois plus tard ! :D
Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.
[^] # Re: re
Posté par Framasky (site web personnel) . Évalué à 1.
Je voulais être gentil, pas lui macher le boulot non plus ! ;)
Le problème, c'est qu'il risque d'utiliser ton snippet sans comprendre.
C'est du beau perl cela dit, j'aime beaucoup.
Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 1.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: re
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 2.
tu veux dire @l[1..$#l] ?
Parce que sinon, les slices, elles marchent pas !
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 1.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: re
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 2.
Je trouve que c'est une bonne méthode pour éviter le copier-collé bourrin. Ça force au moins à retaper, en espérant que quelque chose soit appris au passage !
[^] # Re: re
Posté par Framasky (site web personnel) . Évalué à 1.
Oui mais non : parce que là, c'est celui qui demande de l'aide qui file un screenshot. Donc les gentils gens qui veulent l'aider se font chier.
Après, dans l'autre sens (solution donnée en screenshot), je suis pour ! :D
Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.