Salut à tous,
J'essaye d'ecrire un script qui permet de connaitre l'occupation cpu en perl.
J'utilise vmstat 5 5 pour calculer une moyenne.
voici le resultat de vmstat :
icicmoi@debian:~$ vmstat 5 5
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 0 126108 6848 200640 0 0 401 80 420 1399 36 6 50 7
1 0 0 125984 6848 200640 0 0 0 0 356 925 3 1 96 0
1 0 0 125984 6848 200640 0 0 0 0 429 1302 3 3 94 0
1 0 0 125984 6848 200640 0 0 0 0 342 869 3 2 95 0
1 0 0 125984 6848 200640 0 0 0 0 390 1038 3 3 94 0
Le probleme est que j'aimerai recupérer la 14 ieme colonne. (colonne sys)
en gros faire un awk '{print $14}.
mais ca ne marche pas !!
Actuellement je recupere toutes les lignes dans un tableau et j'essaye de faire un echo de la ligne puis un awk dessus mais cela me retourne l'erreur suivante :
voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 sh: -c: line 1: syntax error near unexpected token `|' sh: -c: line 1: ` | awk '{print $14}' '
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 #!/usr/bin/perl use strict; my @result = `vmstat 5 5`; my $test; foreach my $line (@result) { $test=`echo $line | awk '{print $14}' `; } exit 0;
J'aimerai bien trouve la solution en perl meme si en bassh je sais que cela fonctionne.
Partager