IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Recuperer une information apres execution d'1 commande linux


Sujet :

Langage Perl

  1. #1
    Membre du Club Avatar de Nadaa
    Inscrit en
    Septembre 2003
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 133
    Points : 68
    Points
    68
    Par défaut Recuperer une information apres execution d'1 commande linux
    Bonjour tt le monde ,

    Je debute en programmation en perl, je dois code un script qui me permet de recuperer une valeur apres excution de la commande "ls -l" je dois recuperer la taille d'un fichier et envoyer un email si la taille est tres grande.
    POuvez vous me dire comment je peux ecrire un script perl qui execute la commande 'ls -l' et donne en retour la taille fichier par fichier?
    Mile merci par avance,

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut Re: Recuperer une information apres execution d'1 commande l
    Citation Envoyé par Nadaa
    Bonjour tt le monde ,

    Je debute en programmation en perl, je dois code un script qui me permet de recuperer une valeur apres excution de la commande "ls -l" je dois recuperer la taille d'un fichier et envoyer un email si la taille est tres grande.
    POuvez vous me dire comment je peux ecrire un script perl qui execute la commande 'ls -l' et donne en retour la taille fichier par fichier?
    Mile merci par avance,
    Tu peux parcourir en Perl un repertoire et donc recuperer tous les fichiers de ce dernier.
    Il existe des fonctions qui te permettront d'avoir la taille de tes fichiers (fonctions stat).
    T'as aussi le module MIME::Lite qui permet d'envoyer des mails, donc ton souci est faisable rapidement. Je vais pas faire le script car si tu debute, il est important que tu cherche un peu.
    Regarde dejà dans la FAQ, on y a parlé du parcour de repertoire
    sinon y a aussi les cours que David a ecrit qui t'aideront aussi pour debuter : lien dans ma signature.

    Quand tu aura fais cela, on pourra t'aider pour les mails.
    courage

  3. #3
    Membre du Club Avatar de Nadaa
    Inscrit en
    Septembre 2003
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 133
    Points : 68
    Points
    68
    Par défaut
    Je te remercie pour ta reponse, ce que je voulais en fait recuperer lea taille lister apres execution de 'ls -l' en gros je ne sais pas comment acceder a la colone ou il y a la valeur de la taille d un fichier..

  4. #4
    Membre du Club Avatar de Nadaa
    Inscrit en
    Septembre 2003
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 133
    Points : 68
    Points
    68
    Par défaut
    la commande ls -l c est un exemple en fait j aimerais reuperer la valeur de OFFSET colonne apres execution de la commande "watch ntpq -p"

  5. #5
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    dans ce cas, tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @commande_ls = `ls -l`;
    tu parcours le tableau et pour chaque case tu traite avec les regex ou split.
    peux tu nous montrer ceque t'as en faisant ls -l!!

  6. #6
    Membre du Club Avatar de Nadaa
    Inscrit en
    Septembre 2003
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 133
    Points : 68
    Points
    68
    Par défaut
    j ai ce resultat:


    remote refid st t when poll reach delay offset jitter
    ==========================================
    palm 0.0.0.0 16 u - 256 0 0.000 0.000 4000.00
    blackberry 0.0.0.0 16 u - 256 0 0.000 0.000 4000.00
    *LOCAL(0) LOCAL(0) 10 l 8 64 377 0.000 0.000 0.008



    et j aimerais recuperer la valeur du offset, en utilisant un script en perl..

  7. #7
    vic
    vic est déconnecté
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2002
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 431
    Points : 498
    Points
    498
    Par défaut
    Salut,

    si tu veux juste la taille du fichier, tu peux faire simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $taille = -s "/nom/de/fichier";
    Pour récupérer la N-ième colonne, tu peux utiliser plutot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <commande> | tr -s ' ' | cut -d ' ' -f N
    (remplace N par le numéro de la colonne).

Discussions similaires

  1. recuperer une information dans une boite de dialogue
    Par lecaire dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 19/03/2009, 11h16
  2. thread et retour d'une valeur après execution du thread
    Par lufermapar dans le forum Concurrence et multi-thread
    Réponses: 4
    Dernier message: 09/12/2008, 21h01
  3. Réponses: 2
    Dernier message: 23/06/2007, 23h02
  4. Réponses: 1
    Dernier message: 25/05/2007, 17h28
  5. charger une page apres execution d'une fonction
    Par lacsap49 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/03/2006, 16h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo