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

Programmation et administration système Perl Discussion :

Associé contenu de plusieur ligne à une clé


Sujet :

Programmation et administration système Perl

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 58
    Points : 35
    Points
    35
    Par défaut Associé contenu de plusieur ligne à une clé
    Bonjour,

    J ai réalisé un script qui qui va parcouri un fichier csv (qu'on me donne) et qui va pour chaque ligne de ce fichier CSV compter les ports de machine qui sont dans ce fichier csv.Il y a une machine par ligne.

    Si j ai 5 ligne dans le CSV, il va me retourner les ports pour les 5 machines. J aimerais bien que quand une machine se retrouve sur plusieurs lignes, il fasse la somme des ports.

    Voici le code:

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    use strict;
    use Data::Dumper;
     
    BEGIN {
    	unshift @INC, '/PRD/SYDN/perl-lib';
    };
     
    use Net::SNMP;
     
    my %ifCount;
    my $ifCount;
    my $ligne;
    my $tot;
    my $up;
    my $ethernet;
    my %Count;
    my $Count;
    my $groupe;
     
     
     
     
    open FICHIER,"<input.csv " or die "le fichier n existe pas";
     
    while ($ligne = <FICHIER>){
    	chomp ($ligne);
     
    		my $machine;
    		my $community;
     
     
    		%Count=0;
     
    		($machine,$community,$groupe) = split (/;/,$ligne);
     
     
    		my ($session, $error) = Net::SNMP->session(
    			      -version     => 'snmpv2c',
    			      -hostname    => $machine,
    			      -community   => $community,  #'nVNmgAix',
    			      -port        =>  161 ,
    			      -timeout=> 1
     
    		  );
     
    	if ($error) {print $error; exit}
     
     
    		my $ifIndex       		= $session->get_table(  -baseoid => "1.3.6.1.2.1.2.2.1.1" );
    		my $ifType			= $session->get_table(	-baseoid => "1.3.6.1.2.1.2.2.1.3" );
    		my $ifOperStatus		= $session->get_table(	-baseoid => "1.3.6.1.2.1.2.2.1.8" );
     
     
    		#On va compter les porte totale, ethernet et ethernet UP
     
     
    	foreach  my $C (values %$ifIndex){
     
     
    		  $Count{glob}++;
    		  next unless $$ifType{'1.3.6.1.2.1.2.2.1.3.'.$C} == 6; 
        		  $Count{Ethernet_tot}++;
                      $Count{up}++   if $$ifOperStatus{'1.3.6.1.2.1.2.2.1.8.'.$C} == 1 ;
     
    		#on pourrait les mettres dans $tot $up $etherup
     
    		  $tot = $Count{glob};
    		  $up  = $Count{up};
    		  $ethernet = $Count{Ethernet_tot};
     
    		#Afficher 0 quand il n'y a pas de port UP
     
    	if ($up == 0) 
    		{$up ="0";}
     
    				}
     
    		#on va stocker le résultats dans ifCount.
     
    			 $ifCount{$groupe}{tot}= $tot;
    		  	 $ifCount{$groupe}{up}= $up;
    		  	 $ifCount{$groupe}{ethernet}= $ethernet;
     
     
    		print 	"$groupe \t".
    			"Port tot:$tot  \t". 
    			"Ethernet:$ethernet  \t".
    			"Ethernet up:$up  \n";
     
    	}
     
     
    		print Dumper( \%ifCount);	
     
    close FICHIER;

    Merci,

    Mimiche

  2. #2
    Nouveau membre du Club
    Inscrit en
    Novembre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 58
    Points : 35
    Points
    35
    Par défaut
    Oups, désolé me suis trompé de forum...

Discussions similaires

  1. [MySQL] Compter le contenu de plusieurs lignes SQL
    Par Alexcontact dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/07/2015, 16h20
  2. Mettre le contenu de plusieurs lignes dans une seule case
    Par bellamouna dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 09/12/2008, 12h11
  3. Associer contenu de plusieurs lignes à une clé.
    Par Mimiche dans le forum Langage
    Réponses: 29
    Dernier message: 12/12/2007, 10h05
  4. Réponses: 9
    Dernier message: 11/09/2007, 10h08
  5. Réponses: 5
    Dernier message: 05/09/2007, 20h12

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