Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1275 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  Récupérer la sortie d'un appli windows-snmp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Récupérer la sortie d'un appli windows-snmp

n°1684130
helloyes
Posté le 08-02-2008 à 17:04:17  profilanswer
 

Je suis débutant en perl, et j'utilise activeperl sur windows.
Donc, je voudrais récupérer la sortie d'un prog windows dans une variable liste.
 
Le type de code est le suivant:
 
 
 
 

Citation :

$ARGV=@ARGV;
 
my @foo=grep( "192.168.0.2",system("snmpwalk switchcisco .1.3.6.1.2.1.16.1.1" ));    


 
 
 
Mais rien est stocké dans la variable!


Message édité par helloyes le 08-02-2008 à 17:05:14
mood
Publicité
Posté le 08-02-2008 à 17:04:17  profilanswer
 

n°1684336
dreameddea​th
Posté le 09-02-2008 à 10:20:30  profilanswer
 

system ne rend que le code retour resultat de la commande.
 
Pour récupérer le stdout, il faut utiliser `` (back quote)
 
ensuite grep ne fonctionne pas comme tu le penses (tu n'es pas en shell) : il ne fait que parcourir un tableau (ici à une entrée) et "filtrer" les éléments pour lesquels l'expression rend "false". Pour utiliser grep, il faut splitter suivant les \n et utiliser une expression régulière.

Code :
  1. $ARGV=@ARGV;
  2. my @lines_res =split(/\n/,`snmpwalk switchcisco .1.3.6.1.2.1.16.1.1` );
  3. my @foo=grep{/192.168.0.2/}@lines_res;


Message édité par dreameddeath le 09-02-2008 à 10:21:02
n°1685280
helloyes
Posté le 12-02-2008 à 12:52:09  profilanswer
 

Merci ca marche.
Par contre, y'a un moyen d'exprimer simplement l'intervalle 0-24 à l'aide d'expression réguliére?
 

n°1685293
anapajari
s/travail/glanding on hfr/gs;
Posté le 12-02-2008 à 13:15:44  profilanswer
 

/^192\.168\.0\.(\d|1\d|2[0-4])$/


---------------
Software and cathedrals are much the same - first we build them, then we pray.
n°1685581
dreameddea​th
Posté le 12-02-2008 à 22:37:05  profilanswer
 

dans le code que j'ai donné, j'aurais tendance à utiliser...
 

Code :
  1. my @foo = grep{/192.168.0.(\d{1,2})/ && $1<=24} @lines_res


 
Mais c'est une question de préférence...

n°1685645
anapajari
s/travail/glanding on hfr/gs;
Posté le 13-02-2008 à 09:16:04  profilanswer
 

200% d'accord les regexs c'est pas fait pour ce genre de chose :o
(mais c'était juste pour répondre à son besoin de regex


---------------
Software and cathedrals are much the same - first we build them, then we pray.
n°1686064
dreameddea​th
Posté le 14-02-2008 à 00:17:36  profilanswer
 

Oooupps le boulet,
 
je viens de me rendre compte avec 5 jours de retard que les . doivent être  remplacés par des \.
 
Heureusement anapajari veille en écrivant des regexp valides lui :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  Récupérer la sortie d'un appli windows-snmp

 

Sujets relatifs
[c++] Récupérer les droits d'accès de fichiers/dossiers sous windowsLire le taux des cores du CPU (windows et linux) sous python
Récuperer et afficher plusieurs lignes de donnéesRecuperer les coordonées d'un point dans un textBox
Basculer sortie vidéo DVI en SVHS / Changer résolution[libCURL] récupérer le retour d'une commande FTP
Générer des crashs dans Windows.récuperer variable dans script shell avec formulaire PHP
personnaliser l'explorateur windows ??? 
Plus de sujets relatifs à : Récupérer la sortie d'un appli windows-snmp


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR