• # Une version Perl

    Posté par . En réponse au message [X-Window] top + xrootconsole. Évalué à 2.

    ... avec l'appel à top intégré :

    #!/usr/bin/perl -w
    use strict;

    my $nb = shift @ARGV or die "Utilisation : 0ドル <nombre de lignes>\n";

    # On ouvre un pipe depuis la commande top -b en entrée
    open TOP, "top -b|" or die "Impossible de lancer la commande top -b\n";
    # Deux affichages consécutifs de top -b sont séparées par deux lignes vides
    # Donc en définissant le séparateur d'enregistrements ainsi :

    $/ = "\n\n\n";
    # on obtiendra une sortie complète à chaque accès au file handle.
    while (<TOP>) {
    # À ce stade-là, on sépare l'enregistrement courant en lignes
    my @ligne = split /\n/;
    # et on affiche les $nb premières lignes (ou une ligne vide pour les lignes
    # éventuellement non définies) en remettant une fin de ligne.

    print map({($_ || '')."\n"} @ligne[0 .. $nb - 1]);
    }
    close TOP;



    Ou en uniligne :
    top -b | perl -ne 'BEGIN { $/="\n\n\n" } print map({($_ || "")."\n"} (split /\n/)[0..39])' | xrootconsole
    où il faut remplacer 39 par le nombre de lignes - 1.

    Toujours pas tenté par Perl ?
    Cela dit, on doit pouvoir faire à peu près aussi court en Python ou en Ruby...

    « Le fascisme c’est la gangrène, à Washington comme en Russie. » — adapté de Renaud, Hexagone