[perl] tri dans un fichier

Fermé
fifto Messages postés 54 Date d'inscription vendredi 24 mars 2006 Statut Membre Dernière intervention 15 juin 2006 - 12 avril 2006 à 14:46
 non - 13 mai 2015 à 16:37
J'ai une autre question concernant les tris en perl svp:
J'ai ce fichier texte:
#x y
1 5
44 2
3 74
2 11

Et en fait, j'aimerais le transformer en un nouveau fichier texte ou les x sont triés par ordre croissant:

donc le nouveau fichier texte serait:

#x y
1 5
2 11
3 74
44 2

Vous savez comment on peut faire ca svp?
merci.
A voir également:

2 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
12 avril 2006 à 23:57
Salut,
#! /usr/bin/perl

use warnings;
use strict;

my %h = ();
my $entete = <DATA>;
while (<DATA>){
  next unless /^\d/;
  my($cle,$val) = split /\s+/,$_;
  $h{$cle} = $val;
}
print "$entete";
foreach (sort {$a <=> $b} keys %h){
  print "$_ $h{$_}\n";
}
__END__
X Y
1 6

3 22

5 1

0 8

10 258

2 5401
Résultat
[lamitest@localhost corbeille]$ perl a
X Y
0 8
1 6
2 5401
3 22
5 1
10 258
[lamitest@localhost corbeille]$
lami20j
1
bonsoir,
j'ai pu voir sur le forum que t'es pas mal calé en perl, alors si tu pouvais m'aider...
en fait je dois trier par ordre croissant une liste prealablement rentrée par l'utilisateur- soit nombre soit des chaines de caracteres - sans utilisé la fonction sort. J'ai vu une solution que tu as deja posté mais j'aimerais savoir si tu connais
avec le tri par bulle.
merci d'avance de ton aide, je m'arrache les cheveux avec ca!!
0
je ponce pas que cette méthode va etre marche corectement
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
2 déc. 2008 à 18:06
Salut,

Le tri par bulle tu le trouves ici https://fr.wikipedia.org/wiki/Tri_%C3%A0_bulles et le code en C peut être adapter très facilement en Perl.
Voici un exemple pour quelques méthode de tri en C http://www.commentcamarche.net/forum/affich 4795788 c tri#2

Si tu vais d'aide il faut donner un peu plus de détails de ce que tu veux faire.

j'ai pu voir sur le forum que t'es pas mal calé en perl, alors si tu pouvais m'aider...
...........
je m'arrache les cheveux avec ca!!


Je ne sais pas si je suis calé en Perl, en revanche, chose sûre, je n'ai plus de cheveux ;-DDD
0