Rechercher : dans
Par :

Perl: lecture et ecriture ds 1 fichier

Dernière réponse le 8 aoû 2005 à 01:44:52 Max, le 3 aoû 2005 à 13:22:19 
 Signaler ce message aux modérateurs

Bonjour,

Langage perl

En entrée j'ai un fichier .txt.
Je veux lire ce fichier et écrire dans certains champs d'un autre fichier qui sera utliser pour la jour une table de la base Oracle.

J'ai la structure de mon fichier .txt (champs et position)

Comment faire ?

Merci d'avance pour votre contribution

Configuration: WNNT, UNIX,

Meilleures réponses pour « Perl: lecture et ecriture ds 1 fichier » dans :
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
[Gravure] Graver ou lire un fichier .BIN / .CUE VoirLes fichiers .bin et .cue sont respectivement : .BIN : une image de CD, c'est-à-dire une copie binaire d'un CD ou d'un DVD sous forme d'un fichier .CUE : informations sur les pistes du disque. Les fichiers .BIN / .CUE sont utilisables par...
[Gravure] Graver ou lire un fichier .DAA VoirLes fichiers portant l'extension .daa s'ouvrent avec Power iso (littéralement PowerISO Direct-Access-Archive). PowerISO est un outil permettant d'ouvrir, d'extraire, de créer ou d'éditer des images de CD ou de DVD et de les convertir en images...
Fichier RM VoirFormat RM Un fichier RM (Real Media) est un fichier audio prévu pour être lu en streaming. Pour lire un tel fichier, il suffit d'utiliser le logiciel Real Alternative
Perl - Les fichiers VoirLa notion de filehandle On appelle filehandle (traduisez descripteur de fichier), dans un programme Perl, le nom permettant de manipuler une connexion d'entrée-sortie (les entrées-sorties standards vues précédemment sont connues par les filehandles...
Perl - Entrée et sortie standards VoirQu'appelle-t-on entrée standard et sortie standard ? Perl permet d'écrire sur la sortie standard, appelée STDOUT et de lire sur l'entrée standard (STDIN). Il s'agit de deux descripteurs fournis par le système d'exploitation et permettant...

1

mamiemando, le 4 aoû 2005 à 01:49:04

Tu peux trouver les bases ici :
http://www.med.univ-rennes1.fr/~poulique/cours/perl/introper­l.html

Mais je ne suis pas sûr que tu puisses facilement modifier le contenu du fichier. Pour moi il faut que tu prennes le fichier squelette en paramètre, que tu le passes à ton programme perl, et que tu génère un fichier rempli en sortie...

Bonne chance

Répondre à mamiemando

2

Max, le 4 aoû 2005 à 08:52:46

Merci pour la contribution

Effectivement, j'ai en variables, le squellette de mon fichier. Mais pour le fichier en sortie, la structure est differente.

Je rame à ce niveau. une redirection ne suffit pas!!!

comment ecrire dans ce fichier dont la structure n'est declarée.

merci d'avance

Répondre à Max

3

mamiemando, le 4 aoû 2005 à 18:02:46

Ben il suffit d'ouvrir un fichier en lecture, récupérer les données interessantes, faire tes calculs, puis écrire le fichier de sortie en conséquence...

#!/usr/bin/perl -w

($f,$out) = @ARGV;
if (@ARGV!=2){
    print "Usage : $0 fichier_in fichier_out \n";
    die "$!\n";
}

open FICHIER, "$f";
open OUT, "> $out";

#Lire le fichire d'entrée

#Ecrire le fichier de sortie

close FICHIER;
close OUT;

Non ? Ou j'ai mal compris ?

Bonne chance en tout cas

Répondre à mamiemando

4

Max, le 5 aoû 2005 à 14:31:52

Merci encore mamiendo

une derniere question sur la structure du fichier en sortie.

A quel niveau dois je declarer ma structure.

Je vois un peu plus clair avec ton aide.

Bon courage

Répondre à Max

5

mamiemando, le 5 aoû 2005 à 15:41:52

Tu l'écris dans l'ordre ;)

#....
#$out nom du fichier de sortie
open OUT, "> $out";
#...
print OUT "J'ecris le contenu de la table de hachage hash que j'ai deja rempli auparavant dans mon joli programme perl\n";

foreach $i (sort keys %hash){
    if (defined($hash{$i})){
        print OUT "$hash{$i}\n";
    }
}

#...
close OUT;

Répondre à mamiemando

6

Max, le 6 aoû 2005 à 18:18:26

Mamiemando,

Comment transformer un fichier plat sans separateur, en un fihier
avec des champs separés par une virgule.

langae perl

au secours

Répondre à Max

7

 mamiemando, le 8 aoû 2005 à 01:44:52
Répondre à mamiemando