Bonjour,
Je n'arrive pas à faire un tri dans un tableau et sortir la ligne avec la plus grande durée de temps.
J'ai la liste suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Flag time : 4097 0:00:23 user2 MATLAB/42 4.4% Flag time : 11365 0:00:42 user1 MATLAB/51 3.3% Flag time : 11365 0:01:23 user1 MATLAB/50 1.2% Flag time : 11365 0:02:02 user1 MATLAB/50 3.0% Flag time : 11365 0:10:07 user1 MATLAB/50 7.1% Flag time : 11365 0:16:37 user1 MATLAB/49 7.5% Flag time : 11365 0:22:20 user1 MATLAB/49 7.2% Flag time : 11365 0:24:29 user1 MATLAB/49 6.0% Flag time : 11365 0:28:19 user1 MATLAB/49 1.2% Flag time : 11365 0:29:14 user1 MATLAB/51 1.4% Flag time : 18715 0:00:56 user2 MATLAB/40 3.1% Flag time : 11365 0:39:10 user1 MATLAB/54 6.2% Flag time : 11365 0:44:18 user1 MATLAB/54 6.5% Flag time : 10346 0:02:06 user3 MATLAB/41 1.5% Flag time : 10346 0:03:06 user3 MATLAB/41 1.1% Flag time : 10346 0:05:35 user3 MATLAB/42 6.1% Flag time : 10346 0:10:34 user3 MATLAB/42 6.2% Flag time : 10346 0:15:35 user3 MATLAB/42 6.3% Flag time : 10346 0:20:35 user3 MATLAB/42 6.3% Flag time : 10346 0:25:35 user3 MATLAB/42 6.2% Flag time : 10346 0:30:36 user3 MATLAB/42 6.2% Flag time : 10346 0:35:35 user3 MATLAB/42 6.2% Flag time : 10346 0:39:45 user3 MATLAB/42 1.8% Flag time : 10346 0:40:39 user3 MATLAB/42 1.1% Flag time : 10346 0:41:33 user3 MATLAB/42 1.1% Flag time : 10346 0:42:27 user3 MATLAB/42 1.1% Flag time : 10346 0:43:21 user3 MATLAB/42 1.1%Je sais je suis toujours sur le script de mon post précédent mais le problème est différent
Voici mon script :
J'aimerais que ce script me sorte le temps max pour chaque PID, et non pas les colonnes triée ce qui est le cas actuellement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #!/usr/bin/perl use strict; use warnings; open (F, 'MATLAB_2011_04_v2.log'); my @t = <F>; close (F); #mise en forme my @out; foreach my $line (@t) { # print "Flag Line : $line\n"; my @col=split (/\s+/,$line); my $pid=$col[3]; next if !defined $pid; my @time=split (/:/,$col[4]); my $login=$col[5]; # print "Flag Time : $time[0] $time[1] $time[2]\n"; my $sec= ($time[0]*3600 + $time[1]*60 + $time[2]); @out=(@out,"PID: $pid Temps: $sec Login: $login \n"); } sort @out; print "@out\n";
Documentation lue :
http://articles.mongueurs.net/magazines/linuxmag48.html
http://www.hobbesworld.com/perl/tableaux.php
http://articles.mongueurs.net/traduc...an-rosler.html
Désolé mais là je n'y arrive pas ....
Merci de votre aide.







Je sais je suis toujours sur le script de mon post précédent mais le problème est différent
Répondre avec citation









Partager