Perl trier le fichier

Fermé
camillePer Messages postés 3 Date d'inscription vendredi 12 février 2010 Statut Membre Dernière intervention 14 février 2010 - 12 févr. 2010 à 23:55
 chichi - 20 mai 2015 à 06:05
Bonjour tout le monde!
je suis nouvelle ici et je sais même pas si j'ai choisi le bon emplacement pour ma question.
Mais je vous demande de m'aider quand même)))
: comment est-ce que je peux trier un fichier qui est de cette structure:
23425 TAB 4573657 TAB ulala
45657 TAB 346797657 TAB alala
34535 TAB 566854654 TAB mlalala
pour avoir
45657 TAB 346797657 TAB alala
34535 TAB 566854654 TAB mlalala
23425 TAB 4573657 TAB ulala
Cela veut dire comment je peux faire un tri alphabétique?

Merci!)
A voir également:

6 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
13 févr. 2010 à 08:27
Salut,

Si j'ai bien compris tu veux faire un tri selon la dernière colonne.
Peux-tu nous montrer ce que tu as essayé faire.
Ca nous permettra de voir ce qui ne va pas.
1
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
13 févr. 2010 à 08:32
Salut,

Je vois que tu es sous GNU/Linux, le "perl" est obligatoire ?
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
13 févr. 2010 à 08:37
Salut,

Oui.
;-DDD
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895 > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
13 févr. 2010 à 09:11
Alors, t'as intérêt de faire plus court qu'avec "sort" !!! ;-DD
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 > jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020
13 févr. 2010 à 09:32
Re,

Oui.
Je fais un script qui contiendra moins de code que sort et je l'appellerai s
Ca te va? ;-)))
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895 > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
13 févr. 2010 à 09:36
Que nenni, ce n'est pas le nom qui doit être court, noméo !!!

Fainéant et tricheur en plus ;-D
0
camillePer Messages postés 3 Date d'inscription vendredi 12 février 2010 Statut Membre Dernière intervention 14 février 2010
14 févr. 2010 à 10:53
Bonjour, justement j'ai rien fait, parce que je ne vois pas comment je peux m'approcher du tri, il me semble qu'on peut le faire avec le sort en définissant la troisième colonne du texte comme le champ principal du tri. Non?
Merci)
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
14 févr. 2010 à 11:12
Re-

[tmpfs]$ cat plop
23425 TAB 4573657 TAB ulala
45657 TAB 346797657 TAB alala
34535 TAB 566854654 TAB mlalala

[tmpfs]$ sort +4 plop
45657 TAB 346797657 TAB alala
34535 TAB 566854654 TAB mlalala
23425 TAB 4573657 TAB ulala

[tmpfs]$ sort -k5 plop
45657 TAB 346797657 TAB alala
34535 TAB 566854654 TAB mlalala
23425 TAB 4573657 TAB ulala

[tmpfs]$
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
14 févr. 2010 à 11:17
Salut,

lami20j@debian-acer:~$ cat plop
23425	4573657	ulala
45657	346797657	alala
34535	566854654	mlalala 
lami20j@debian-acer:~$ cat tri.pl 
#!/usr/bin/perl
use strict;use warnings;
open LIRE,"plop" or die "E/S: $!\n";

my @x=<LIRE>;
print map { $_->[0] }
      sort{ $a->[1] cmp $b->[1] }
      map { [$_,(split /\s+/)[2] ] } @x;
__END__

lami20j@debian-acer:~$ perl tri.pl
45657	346797657	alala
34535	566854654	mlalala 
23425	4573657	ulala

0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
14 févr. 2010 à 11:20
Re-

pffff ;-))
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 > jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020
14 févr. 2010 à 11:31
Re,

Ben, mets ta commande sort, peut être qu'il l'adoptera ;-)
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895 > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
14 févr. 2010 à 11:34
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 > jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020
14 févr. 2010 à 11:36
Re,

Je l'ai pas vu ;-))

Toutefois je pense qu'il parlait de la fonction sort de perl et pas de la commande sort.
0
j'ai le même problème j'ai essayé cette methode ça marche mais moi je veux que que ça soit trié selon l'ordre ascii et se n'est pas le cas au niveau des symbole et les accent y'a un problem
0
camillePer Messages postés 3 Date d'inscription vendredi 12 février 2010 Statut Membre Dernière intervention 14 février 2010
14 févr. 2010 à 11:54
Bonjour, merci beaucoup pour votre aide, je vais le regarder un peu plus tard, j'ai pas le temps pour le faire maintenant). Oui, j'ai parlé de perl. "Elle parlait de la fonction de perl..."))))))).
0