salut a tous j'ai 2 code qui fonctionne bien que j'aimerai ecrire en un script pour que les resultats soient ecrit sur meme fichier de sortie, je pense que le probleme ce situe sur l'emploi de la peseudo-varible $_ dans l'un des codes et ma variable d'incrementation $i dans l'autre. car chacun des codes me revois plusieurs Fichiers de sortie quand il sont execute et si a jamais on les uni j'attendrai de nouveau plusieurs fichiers de sortie. Merci bien de vos propositions, en voila les 2 codes pour que chacun puisse avoir un appercu claire
code 1:
# FIFO ?
Posté par Anthony Jaguenaud . Évalué à 2.
Salut,
je ne connais pas PERL, mais si tes scripts fonctionne en même temps, le plus simple me semble de créer un
pipe nommé
. Tes deux scripts écrivent dedans et tu ajoutes un troisième scripts qui le lit et écrit la sortie dans un fichier.Ex :
writer.sh
Dans le shell :
Dans différent terminaux :
Pour lire :
[^] # Re: FIFO ?
Posté par Henri . Évalué à -5.
Je suis totalement egare dans ta proposition, pource stage je travaille qu'avec Perl
# Peut-être…
Posté par anaseto . Évalué à 2.
Je ne suis vraiment pas sûr d'avoir compris le problème. On dirait que le deuxième script écrit une table, et le premier une en-tête et une table. Donc le deuxième devrait écrire après le premier, je suppose. Peut-être que dans le deuxième script :
avec
>>
à la place de>
, est ce que tu veux, pour ajouter au lieu d'effacer le fichier.[^] # Re: Peut-être…
Posté par Henri . Évalué à -5.
Salut Anaseto,
auf fait les deux code produisent des Tableaux, j'aimerai que ses deux tableaux soient ecrit sur le meme fichier afin que l'aon puisse facilement distingue la difference entre les tableaux, car en le faisant sur 2 pages comme je voulais et ce qui aurait ete facile mon maitre de stage trouvais cela pas du tout interessant et c'est la raison pour laquel je demande de l'aide ici.
il faut que je mensionne une fois de plus que le premiers code me revois plusieurs fichiers chacun portant un nom et que le second me revois aussi plusieurs fichiers chacun portant son nom, il faut aussi savoir que un fichier revoye par le code 1 peu porte le meme nom qu'un fichier renvoye par le code 2. car le code un revois tous le parametres se trouvant dans le systeme et le code 2 revoit tout les parametre ce trouvant dans le systeme comportant une erreur.
en ce qui concerne ta Proposition je l'ai deja essayer malheureusement elle n#a pas marche
[^] # Re: Peut-être…
Posté par anaseto . Évalué à 2.
Je n'arrive toujours pas trop à comprendre, désolé. J'ai bien compris que ton premier script produit des fichiers, ton deuxième d'autres, que potentiellement le nom des fichiers peuvent entrer en collision, mais je n'ai pas compris quel est le comportement voulu dans ces cas, ni si c'est là le problème. Si tu utilises
>>
dans ton deuxième script, tu ajoutes au résultat du précédent, donc sur la même page tu as les deux tableaux (dans le cas où le nom d'un fichier est le même), mais visiblement ce n'est pas ça le problème.Bref, je pense que tu devrais essayer de rédiger ton problème dans tous les détails et dans un ordre pédagogique, peut-être que tu arriverais même à le résoudre tout seul (et plus vite), c'est souvent ce qui arrive lorsqu'on s'essaye à cet exercice.
Un détail qui n'a pas à voir avec ton problème principal : tu oublies de fermer certaines balises html (
html
etbody
).[^] # Re: Peut-être…
Posté par NeoX . Évalué à 2.
ce que tu veux c'est ouvrir le meme fichier (qui existe deja) avec l'option "append" pour ajouter des lignes dedans…
[^] # Re: Peut-être…
Posté par Henri . Évalué à -5.
Neox, je peus dire que c'est quelque chose de ce genre, mais comme les Fichiers sont telement nombreux comment le "append" s'applique dans un tel cas.
par ailleur c'etait aussi l'une des raison pour laquel je voulais savoir comment "print" dans un dossierbien determine.
[^] # Re: Peut-être…
Posté par NeoX . Évalué à 2.
le append s'apple lors de l'appel à open.
donc si tu as un fichier SOURCEA.csv, SOURCEB.csv
que tu fais la boucle pour faire SOURCEA.html puis SOURCEB.html
dans ta 2e boucle, tu ouvres la destination avec l'option append,
et ca va ajouter les resultats dans SOURCEA.html au lieu d'ecraser le fichier.
pour enregistrer dans un dossier particulier, retourne lire les propositions faite sur le precedent post, il y a les solutions et des exemples qui fonctionnent (sous linux certes, mais ca fonctionne)
[^] # Re: Peut-être…
Posté par Henri . Évalué à -5.
bonjour Neox,
je l'ai deja souligne si je ne me trompe pas car ce chemin donc tu expplique je l'ai deja fait et comme je l'ai dit il reecrit a plusieurs fois son resultat dans le meme fichier comme je peus empeche qu'il le face. j'essaye de m'expliquer le le code A revois pplusieurs fichiers SOURCEA.html maintenant le code B quand il ecrit son resultat dans les SOURCEA.html il le recrit plusieurs fois.
pour etre plus claire voici un exemple
sortie code A:
DPA01
a
b
c
d
e
f
deuxieme fichier de code A
DPA02
q
w
e
r
t
z
maitenant code B quand il veut ecrit son resultat dans ses fichiers il fait ceci
DPA01
a
b
c
d
e
f
DPA01
z
u
i
o
DPA01
z
u
i
o
DPA01
z
u
i
o
deuxieme fichier de code B
DPA02
q
w
e
r
t
z
DPA02
c
v
b
n
DPA02
c
v
b
n
DPA02
c
v
b
n
c'est cela le probleme comment faire a qu'il ecrive que une seul fois et arrete tout en traitant tout le fichier donc il est sence traite car le code A traite un fichier DATA.csv et le code B lui traite un fichier DATA2.csv.
[^] # Re: Peut-être…
Posté par NeoX . Évalué à 2.
ton truc ressemble à des problemes de boucles qui ne sont pas imbriquées.
du coup ton code fait :
ta boucle 1 remplis $file avec
DPA01
puis DPA02
ta boucle 1 se termine, $file vaut DPA02
ta boucle 2 demarre, remplie $i avec des valeurs,
et utilise $file qui vaut toujours DPA02
ta boucle 2 se termine
alors que finalement tu voudrais un truc du style :
ce qui s'ecrit en code comme (syntaxe surement fausse, mais ca donne le visuel) :
[^] # Re: Peut-être…
Posté par Henri . Évalué à -5.
a ce niveau je ne te comrprend pas du tout pour tes boucles en temps normal le code B traite un DATA2.csv et ecrit dans des fichiers, car dasn le DATA2.csv les noms parexmple
DPA01 DPA02 DPA03 revient plusieurs fois en avec les memes donnes il les reecrit dans le meme fichier
et au finisch on a comme l'inpression qu'il ne l'a fait qu'une fois, maintenant j'aimerai qu'il ecrive juste une fois car les noms reviennent a chaque fois avec les memes donnes donc l'ecrire juste une fois et ignorer tout ce suivra, et passe au nom suivant soit DPA02 faire la meme chose ecrire les donnes une fois et ignore tous ceux qui suivrent
[^] # Re: Peut-être…
Posté par NeoX . Évalué à 2.
ah ben pour ca faut peut-etre deja decrire en francais (ou dans ta langue natale) ce que tu veux que ton nouveau programme fasse.
on appelle ca l'alogoritme de ton programme, de memoire on avait d'abord un programme simple,
qui lisait des DATA à partir d'un seul fichier, dans un tableau, et sortait du HTML
nous avions ensuite rajouter la possibilité de prendre un ensemble de fichier de données pour sortir plusieurs tableaux
à toi de jouer pour faire ton nouvel algoritme qui va traiter les données, dans l'ordre que tu veux, avec les actions que tu veux.
ensuite comme tu sais maintenant ecrire une boucle en perl, des tests, et des sorties,
à toi de faire la "traduction" de ton alogritme en code perl.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.