Parser un fichier en PERL
Résolu
pontarose
Messages postés
150
Date d'inscription
Statut
Membre
Dernière intervention
-
pontarose Messages postés 150 Date d'inscription Statut Membre Dernière intervention -
pontarose Messages postés 150 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un petit souci pour parser un fichier en PERL.
J'ai un fichier de type GFF et j'aimerais ne conserver que certains élements.
J'ai 3 lignes et je voudrais en conserver que 2 au final; mais cela en prenant une donnée de la ligne 1 en l'intégrant dans la ligne 2.
Voiçi en exemple. (chaque champ sont séparé par des tabulations).
lala parents Dupont;Martin;filiation;honneur
loulou fille Dupont;
toto fils Dupont;
Au final je voudrais cela:(Il s'agit de récupérer Martin et de l'ajouter à la colonne suivante seulement)
loulou fille Dupont;Martin
toto fils Dupont;
Dans un premier temps j'obtiens cela:
Martin
loulou fille Dupont;
toto fils Dupont;
Mais je bloque pour faire passer Martin dans la ligne suivante
open (GFF, "< aaaa.gff") or die("Impossible de lire dans le fichier $!");
my $i=0;
while( my $ligne=<GFF>){
$i++;
//pour récupérer Martin
if($ligne =~ /(^lala)\t(.+)\t(.+);(.+);(.+);(.+)$/){
$ligne=$4;
}
}
close (GFF);
Pourraist-on m'aider merci par avance.
J'ai un petit souci pour parser un fichier en PERL.
J'ai un fichier de type GFF et j'aimerais ne conserver que certains élements.
J'ai 3 lignes et je voudrais en conserver que 2 au final; mais cela en prenant une donnée de la ligne 1 en l'intégrant dans la ligne 2.
Voiçi en exemple. (chaque champ sont séparé par des tabulations).
lala parents Dupont;Martin;filiation;honneur
loulou fille Dupont;
toto fils Dupont;
Au final je voudrais cela:(Il s'agit de récupérer Martin et de l'ajouter à la colonne suivante seulement)
loulou fille Dupont;Martin
toto fils Dupont;
Dans un premier temps j'obtiens cela:
Martin
loulou fille Dupont;
toto fils Dupont;
Mais je bloque pour faire passer Martin dans la ligne suivante
open (GFF, "< aaaa.gff") or die("Impossible de lire dans le fichier $!");
my $i=0;
while( my $ligne=<GFF>){
$i++;
//pour récupérer Martin
if($ligne =~ /(^lala)\t(.+)\t(.+);(.+);(.+);(.+)$/){
$ligne=$4;
}
}
close (GFF);
Pourraist-on m'aider merci par avance.
A voir également:
- Parser un fichier en PERL
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide