J'ai un soucis pour trier des enregistrement a l'interrieure d'un
fichier.
j'ai un fichier avec plusieurs enregistrements. je veux que les
enregistrement se trie dans l'ordre alphabetique par rapport à
l'enregistrement $toto[14]...
J'ai un soucis pour trier des enregistrement a l'interrieure d'un
fichier.
j'ai un fichier avec plusieurs enregistrements. je veux que les
enregistrement se trie dans l'ordre alphabetique par rapport à
l'enregistrement $toto[14]...
J'ai un soucis pour trier des enregistrement a l'interrieure d'un
fichier.
j'ai un fichier avec plusieurs enregistrements. je veux que les
enregistrement se trie dans l'ordre alphabetique par rapport à
l'enregistrement $toto[14]...
"Patrick" wrote in message
:J'ai un soucis pour trier des enregistrement a l'interrieure d'un
fichier.
j'ai un fichier avec plusieurs enregistrements. je veux que les
enregistrement se trie dans l'ordre alphabetique par rapport à
l'enregistrement $toto[14]...
Tu n'es pas clair : souhaites-tu trier les lignes sur la base de la colon ne
14, ou trier les colonnes de chaque ligne ?
"Patrick" wrote in message
<1151325913.664637.225540@r2g2000cwb.googlegroups.com>:
J'ai un soucis pour trier des enregistrement a l'interrieure d'un
fichier.
j'ai un fichier avec plusieurs enregistrements. je veux que les
enregistrement se trie dans l'ordre alphabetique par rapport à
l'enregistrement $toto[14]...
Tu n'es pas clair : souhaites-tu trier les lignes sur la base de la colon ne
14, ou trier les colonnes de chaque ligne ?
"Patrick" wrote in message
:J'ai un soucis pour trier des enregistrement a l'interrieure d'un
fichier.
j'ai un fichier avec plusieurs enregistrements. je veux que les
enregistrement se trie dans l'ordre alphabetique par rapport à
l'enregistrement $toto[14]...
Tu n'es pas clair : souhaites-tu trier les lignes sur la base de la colon ne
14, ou trier les colonnes de chaque ligne ?
"Patrick" wrote in message
:J'ai un soucis pour trier des enregistrement a l'interrieure d'un
fichier.
j'ai un fichier avec plusieurs enregistrements. je veux que les
enregistrement se trie dans l'ordre alphabetique par rapport à
l'enregistrement $toto[14]...
Tu n'es pas clair : souhaites-tu trier les lignes sur la base de la colon ne
14, ou trier les colonnes de chaque ligne ?
"Patrick" wrote in message
<1151325913.664637.225540@r2g2000cwb.googlegroups.com>:
J'ai un soucis pour trier des enregistrement a l'interrieure d'un
fichier.
j'ai un fichier avec plusieurs enregistrements. je veux que les
enregistrement se trie dans l'ordre alphabetique par rapport à
l'enregistrement $toto[14]...
Tu n'es pas clair : souhaites-tu trier les lignes sur la base de la colon ne
14, ou trier les colonnes de chaque ligne ?
"Patrick" wrote in message
:J'ai un soucis pour trier des enregistrement a l'interrieure d'un
fichier.
j'ai un fichier avec plusieurs enregistrements. je veux que les
enregistrement se trie dans l'ordre alphabetique par rapport à
l'enregistrement $toto[14]...
Tu n'es pas clair : souhaites-tu trier les lignes sur la base de la colon ne
14, ou trier les colonnes de chaque ligne ?
Ce que j'ai c'est un fichier avec des enregistrement et je voudrais que
ces enregistrement se trient par rapport à un champ ou il y a des
codes A0 avant A1 avant G2 etc...
Exemlpe :
001|toto|homme|informatique|lyon|voiture|...|A5|avenir015|avenir016|
002|titi|homme|graphiste|paris|voiture|...|B0|avenir015|avenir016|
003|papa|homme|peintre|marseille|voiture|...|F1|avenir015|avenir016|
003|polo|femme|informatique|lyon|voiture|...|A1|avenir015|avenir016|
099|xxxx|enfant|plombier|Evian|voiture|...|G7|avenir015|avenir016|
########## JE VEUX que le trie se fasse sur le champ 14 ############
003|polo|femme|informatique|lyon|voiture|...|A1|avenir015|avenir016|
001|toto|homme|informatique|lyon|voiture|...|A5|avenir015|avenir016|
002|titi|homme|graphiste|paris|voiture|...|B0|avenir015|avenir016|
003|papa|homme|peintre|marseille|voiture|...|F1|avenir015|avenir016|
099|xxxx|enfant|plombier|Evian|voiture|...|G7|avenir015|avenir016|
Merci de m'éclairer
Ce que j'ai c'est un fichier avec des enregistrement et je voudrais que
ces enregistrement se trient par rapport à un champ ou il y a des
codes A0 avant A1 avant G2 etc...
Exemlpe :
001|toto|homme|informatique|lyon|voiture|...|A5|avenir015|avenir016|
002|titi|homme|graphiste|paris|voiture|...|B0|avenir015|avenir016|
003|papa|homme|peintre|marseille|voiture|...|F1|avenir015|avenir016|
003|polo|femme|informatique|lyon|voiture|...|A1|avenir015|avenir016|
099|xxxx|enfant|plombier|Evian|voiture|...|G7|avenir015|avenir016|
########## JE VEUX que le trie se fasse sur le champ 14 ############
003|polo|femme|informatique|lyon|voiture|...|A1|avenir015|avenir016|
001|toto|homme|informatique|lyon|voiture|...|A5|avenir015|avenir016|
002|titi|homme|graphiste|paris|voiture|...|B0|avenir015|avenir016|
003|papa|homme|peintre|marseille|voiture|...|F1|avenir015|avenir016|
099|xxxx|enfant|plombier|Evian|voiture|...|G7|avenir015|avenir016|
Merci de m'éclairer
Ce que j'ai c'est un fichier avec des enregistrement et je voudrais que
ces enregistrement se trient par rapport à un champ ou il y a des
codes A0 avant A1 avant G2 etc...
Exemlpe :
001|toto|homme|informatique|lyon|voiture|...|A5|avenir015|avenir016|
002|titi|homme|graphiste|paris|voiture|...|B0|avenir015|avenir016|
003|papa|homme|peintre|marseille|voiture|...|F1|avenir015|avenir016|
003|polo|femme|informatique|lyon|voiture|...|A1|avenir015|avenir016|
099|xxxx|enfant|plombier|Evian|voiture|...|G7|avenir015|avenir016|
########## JE VEUX que le trie se fasse sur le champ 14 ############
003|polo|femme|informatique|lyon|voiture|...|A1|avenir015|avenir016|
001|toto|homme|informatique|lyon|voiture|...|A5|avenir015|avenir016|
002|titi|homme|graphiste|paris|voiture|...|B0|avenir015|avenir016|
003|papa|homme|peintre|marseille|voiture|...|F1|avenir015|avenir016|
099|xxxx|enfant|plombier|Evian|voiture|...|G7|avenir015|avenir016|
Merci de m'éclairer
À (at) 26 Jun 2006 06:48:34 -0700,
"Patrick" écrivait (wrote):Ce que j'ai c'est un fichier avec des enregistrement et je voudrais que
ces enregistrement se trient par rapport à un champ ou il y a des
codes A0 avant A1 avant G2 etc...
Exemlpe :
001|toto|homme|informatique|lyon|voiture|...|A5|avenir015|avenir016|
002|titi|homme|graphiste|paris|voiture|...|B0|avenir015|avenir016|
003|papa|homme|peintre|marseille|voiture|...|F1|avenir015|avenir016|
003|polo|femme|informatique|lyon|voiture|...|A1|avenir015|avenir016|
099|xxxx|enfant|plombier|Evian|voiture|...|G7|avenir015|avenir016|
########## JE VEUX que le trie se fasse sur le champ 14 ############
003|polo|femme|informatique|lyon|voiture|...|A1|avenir015|avenir016|
001|toto|homme|informatique|lyon|voiture|...|A5|avenir015|avenir016|
002|titi|homme|graphiste|paris|voiture|...|B0|avenir015|avenir016|
003|papa|homme|peintre|marseille|voiture|...|F1|avenir015|avenir016|
099|xxxx|enfant|plombier|Evian|voiture|...|G7|avenir015|avenir016|
Merci de m'éclairer
C'est déjà beaucoup plus clair qu'avant mais ce n'est pas encore assez
précis. Comment souhaitez-vous comparer les chaînes du quatorzième
champ ? Quelles sont les valeurs possibles pour ce champ ? Peut-on
rencontrer A34 et A4, AB23 et A23 ? Et dans ce cas, comment doit-on
les classer ? Sont-elles toujours sous la forme une lettre suivie d'un
chiffre ?
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
À (at) 26 Jun 2006 06:48:34 -0700,
"Patrick" <info@lemanonline.com> écrivait (wrote):
Ce que j'ai c'est un fichier avec des enregistrement et je voudrais que
ces enregistrement se trient par rapport à un champ ou il y a des
codes A0 avant A1 avant G2 etc...
Exemlpe :
001|toto|homme|informatique|lyon|voiture|...|A5|avenir015|avenir016|
002|titi|homme|graphiste|paris|voiture|...|B0|avenir015|avenir016|
003|papa|homme|peintre|marseille|voiture|...|F1|avenir015|avenir016|
003|polo|femme|informatique|lyon|voiture|...|A1|avenir015|avenir016|
099|xxxx|enfant|plombier|Evian|voiture|...|G7|avenir015|avenir016|
########## JE VEUX que le trie se fasse sur le champ 14 ############
003|polo|femme|informatique|lyon|voiture|...|A1|avenir015|avenir016|
001|toto|homme|informatique|lyon|voiture|...|A5|avenir015|avenir016|
002|titi|homme|graphiste|paris|voiture|...|B0|avenir015|avenir016|
003|papa|homme|peintre|marseille|voiture|...|F1|avenir015|avenir016|
099|xxxx|enfant|plombier|Evian|voiture|...|G7|avenir015|avenir016|
Merci de m'éclairer
C'est déjà beaucoup plus clair qu'avant mais ce n'est pas encore assez
précis. Comment souhaitez-vous comparer les chaînes du quatorzième
champ ? Quelles sont les valeurs possibles pour ce champ ? Peut-on
rencontrer A34 et A4, AB23 et A23 ? Et dans ce cas, comment doit-on
les classer ? Sont-elles toujours sous la forme une lettre suivie d'un
chiffre ?
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
À (at) 26 Jun 2006 06:48:34 -0700,
"Patrick" écrivait (wrote):Ce que j'ai c'est un fichier avec des enregistrement et je voudrais que
ces enregistrement se trient par rapport à un champ ou il y a des
codes A0 avant A1 avant G2 etc...
Exemlpe :
001|toto|homme|informatique|lyon|voiture|...|A5|avenir015|avenir016|
002|titi|homme|graphiste|paris|voiture|...|B0|avenir015|avenir016|
003|papa|homme|peintre|marseille|voiture|...|F1|avenir015|avenir016|
003|polo|femme|informatique|lyon|voiture|...|A1|avenir015|avenir016|
099|xxxx|enfant|plombier|Evian|voiture|...|G7|avenir015|avenir016|
########## JE VEUX que le trie se fasse sur le champ 14 ############
003|polo|femme|informatique|lyon|voiture|...|A1|avenir015|avenir016|
001|toto|homme|informatique|lyon|voiture|...|A5|avenir015|avenir016|
002|titi|homme|graphiste|paris|voiture|...|B0|avenir015|avenir016|
003|papa|homme|peintre|marseille|voiture|...|F1|avenir015|avenir016|
099|xxxx|enfant|plombier|Evian|voiture|...|G7|avenir015|avenir016|
Merci de m'éclairer
C'est déjà beaucoup plus clair qu'avant mais ce n'est pas encore assez
précis. Comment souhaitez-vous comparer les chaînes du quatorzième
champ ? Quelles sont les valeurs possibles pour ce champ ? Peut-on
rencontrer A34 et A4, AB23 et A23 ? Et dans ce cas, comment doit-on
les classer ? Sont-elles toujours sous la forme une lettre suivie d'un
chiffre ?
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
Les codes seront toujours sous la forme :
une Lettre majuscule suivit d'un chiffre 0 à 9
Exemple : A0 A1 A2...A9
ou
D0 D2 F4 R7 H2 ...ETC ...
Et ce que je cherche à faire c'est un trie alpha numerique croissant
A1 avant B9 avant E0 ...
Les codes seront toujours sous la forme :
une Lettre majuscule suivit d'un chiffre 0 à 9
Exemple : A0 A1 A2...A9
ou
D0 D2 F4 R7 H2 ...ETC ...
Et ce que je cherche à faire c'est un trie alpha numerique croissant
A1 avant B9 avant E0 ...
Les codes seront toujours sous la forme :
une Lettre majuscule suivit d'un chiffre 0 à 9
Exemple : A0 A1 A2...A9
ou
D0 D2 F4 R7 H2 ...ETC ...
Et ce que je cherche à faire c'est un trie alpha numerique croissant
A1 avant B9 avant E0 ...
À (at) 26 Jun 2006 07:44:20 -0700,
"Patrick" écrivait (wrote):Les codes seront toujours sous la forme :
une Lettre majuscule suivit d'un chiffre 0 à 9
Exemple : A0 A1 A2...A9
ou
D0 D2 F4 R7 H2 ...ETC ...
Et ce que je cherche à faire c'est un trie alpha numerique croissant
A1 avant B9 avant E0 ...
En supposant que vos enregistrements soient dans un tableau de
tableaux (appelé @data). Vous pouvez faire cela :
foreach my $ligne (sort {$a->[13] cmp $b->[13]} @data) {
print join('|', @{$ligne}), "n";
}
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
À (at) 26 Jun 2006 07:44:20 -0700,
"Patrick" <info@lemanonline.com> écrivait (wrote):
Les codes seront toujours sous la forme :
une Lettre majuscule suivit d'un chiffre 0 à 9
Exemple : A0 A1 A2...A9
ou
D0 D2 F4 R7 H2 ...ETC ...
Et ce que je cherche à faire c'est un trie alpha numerique croissant
A1 avant B9 avant E0 ...
En supposant que vos enregistrements soient dans un tableau de
tableaux (appelé @data). Vous pouvez faire cela :
foreach my $ligne (sort {$a->[13] cmp $b->[13]} @data) {
print join('|', @{$ligne}), "n";
}
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
À (at) 26 Jun 2006 07:44:20 -0700,
"Patrick" écrivait (wrote):Les codes seront toujours sous la forme :
une Lettre majuscule suivit d'un chiffre 0 à 9
Exemple : A0 A1 A2...A9
ou
D0 D2 F4 R7 H2 ...ETC ...
Et ce que je cherche à faire c'est un trie alpha numerique croissant
A1 avant B9 avant E0 ...
En supposant que vos enregistrements soient dans un tableau de
tableaux (appelé @data). Vous pouvez faire cela :
foreach my $ligne (sort {$a->[13] cmp $b->[13]} @data) {
print join('|', @{$ligne}), "n";
}
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
Voici ce que j'ai compris
open(HANDLE,"<./dossier/admin.ann.dat"); @data=<HANDLE>; close
(HANDLE);
################################################################
foreach my $ligne (sort {$a->[13] cmp $b->[13]} @data) {
print join('|', @{$ligne}), "n";
}
si je veux afficher le resultat je fais ??
print " ???";
################################################################
Voici ce que j'ai compris
open(HANDLE,"<./dossier/admin.ann.dat"); @data=<HANDLE>; close
(HANDLE);
################################################################
foreach my $ligne (sort {$a->[13] cmp $b->[13]} @data) {
print join('|', @{$ligne}), "n";
}
si je veux afficher le resultat je fais ??
print " ???";
################################################################
Voici ce que j'ai compris
open(HANDLE,"<./dossier/admin.ann.dat"); @data=<HANDLE>; close
(HANDLE);
################################################################
foreach my $ligne (sort {$a->[13] cmp $b->[13]} @data) {
print join('|', @{$ligne}), "n";
}
si je veux afficher le resultat je fais ??
print " ???";
################################################################
Bonjour Nicolas.
Ce que j'ai c'est un fichier avec des enregistrement et je voudrais que
ces enregistrement se trient par rapport à un champ ou il y a des
codes A0 avant A1 avant G2 etc...
Exemlpe :
001|toto|homme|informatique|lyon|voiture|...|A5|avenir015|avenir016|
002|titi|homme|graphiste|paris|voiture|...|B0|avenir015|avenir016|
003|papa|homme|peintre|marseille|voiture|...|F1|avenir015|avenir016|
003|polo|femme|informatique|lyon|voiture|...|A1|avenir015|avenir016|
099|xxxx|enfant|plombier|Evian|voiture|...|G7|avenir015|avenir016|
########## JE VEUX que le trie se fasse sur le champ 14 ############
Bonjour Nicolas.
Ce que j'ai c'est un fichier avec des enregistrement et je voudrais que
ces enregistrement se trient par rapport à un champ ou il y a des
codes A0 avant A1 avant G2 etc...
Exemlpe :
001|toto|homme|informatique|lyon|voiture|...|A5|avenir015|avenir016|
002|titi|homme|graphiste|paris|voiture|...|B0|avenir015|avenir016|
003|papa|homme|peintre|marseille|voiture|...|F1|avenir015|avenir016|
003|polo|femme|informatique|lyon|voiture|...|A1|avenir015|avenir016|
099|xxxx|enfant|plombier|Evian|voiture|...|G7|avenir015|avenir016|
########## JE VEUX que le trie se fasse sur le champ 14 ############
Bonjour Nicolas.
Ce que j'ai c'est un fichier avec des enregistrement et je voudrais que
ces enregistrement se trient par rapport à un champ ou il y a des
codes A0 avant A1 avant G2 etc...
Exemlpe :
001|toto|homme|informatique|lyon|voiture|...|A5|avenir015|avenir016|
002|titi|homme|graphiste|paris|voiture|...|B0|avenir015|avenir016|
003|papa|homme|peintre|marseille|voiture|...|F1|avenir015|avenir016|
003|polo|femme|informatique|lyon|voiture|...|A1|avenir015|avenir016|
099|xxxx|enfant|plombier|Evian|voiture|...|G7|avenir015|avenir016|
########## JE VEUX que le trie se fasse sur le champ 14 ############
À (at) 26 Jun 2006 08:20:45 -0700,
"Patrick" écrivait (wrote):Voici ce que j'ai compris
open(HANDLE,"<./dossier/admin.ann.dat"); @data=<HANDLE>; close
(HANDLE);
################################################################
foreach my $ligne (sort {$a->[13] cmp $b->[13]} @data) {
print join('|', @{$ligne}), "n";
}
si je veux afficher le resultat je fais ??
print " ???";
################################################################
Avec votre code, vous lisez bien vos enregistrements mais vous ne les
éclatez pas en champs. Faites plutôt :
my @data = ();
my $filename = "./dossier/admin.ann.dat";
open my $hdl, "<", $filename
or die "Can't read file '$filename':$!n";
while (<$hdl>) {
chomp;
# en supposant que les champs soit séparés par une virgule
push @data, [split /,/, $_];
}
close $hdl;
# on trie sur le quatorzième champ
foreach my $ligne (sort {$a->[13] cmp $b->[13]} @data) {
# on affiche tous les champs (séparés par un |)
print join('|', @{$ligne}), "n";
}
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
À (at) 26 Jun 2006 08:20:45 -0700,
"Patrick" <info@lemanonline.com> écrivait (wrote):
Voici ce que j'ai compris
open(HANDLE,"<./dossier/admin.ann.dat"); @data=<HANDLE>; close
(HANDLE);
################################################################
foreach my $ligne (sort {$a->[13] cmp $b->[13]} @data) {
print join('|', @{$ligne}), "n";
}
si je veux afficher le resultat je fais ??
print " ???";
################################################################
Avec votre code, vous lisez bien vos enregistrements mais vous ne les
éclatez pas en champs. Faites plutôt :
my @data = ();
my $filename = "./dossier/admin.ann.dat";
open my $hdl, "<", $filename
or die "Can't read file '$filename':$!n";
while (<$hdl>) {
chomp;
# en supposant que les champs soit séparés par une virgule
push @data, [split /,/, $_];
}
close $hdl;
# on trie sur le quatorzième champ
foreach my $ligne (sort {$a->[13] cmp $b->[13]} @data) {
# on affiche tous les champs (séparés par un |)
print join('|', @{$ligne}), "n";
}
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
À (at) 26 Jun 2006 08:20:45 -0700,
"Patrick" écrivait (wrote):Voici ce que j'ai compris
open(HANDLE,"<./dossier/admin.ann.dat"); @data=<HANDLE>; close
(HANDLE);
################################################################
foreach my $ligne (sort {$a->[13] cmp $b->[13]} @data) {
print join('|', @{$ligne}), "n";
}
si je veux afficher le resultat je fais ??
print " ???";
################################################################
Avec votre code, vous lisez bien vos enregistrements mais vous ne les
éclatez pas en champs. Faites plutôt :
my @data = ();
my $filename = "./dossier/admin.ann.dat";
open my $hdl, "<", $filename
or die "Can't read file '$filename':$!n";
while (<$hdl>) {
chomp;
# en supposant que les champs soit séparés par une virgule
push @data, [split /,/, $_];
}
close $hdl;
# on trie sur le quatorzième champ
foreach my $ligne (sort {$a->[13] cmp $b->[13]} @data) {
# on affiche tous les champs (séparés par un |)
print join('|', @{$ligne}), "n";
}
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>