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.
Partager