• # escuse moi

    Posté par . En réponse au message erreur if elif. Évalué à 1. Dernière modification le 31 janvier 2013 à 10:40.

    je pensai que ça suffirai :

     heure=$(date +"%T")
     echo $swip
     echo $nom
     echo $nbport
     echo $machine
     #Recuperation des addresse mac dans un fichier au format decimal et hexa
     #creation du fichier mac1016.dat contenant la relation mac hex / mac deci
     snmpwalk -v 2c -c public -OX -Cc $swip 1.3.6.1.2.1.17.4.3.1.1 | \
     cut -c29- | \
     awk -F " " '{ print 1,ドル4ドル"-"5ドル"-"6ドル"-"7ドル"-"8ドル"-"9ドル }' | \
     sort -k 1,1 > /scriptsOID/mac1016.dat
     #recuperation du portbridge et creation de bridge.dat
     snmpwalk -v 2c -c public -Of -Cc $swip .1.3.6.1.2.1.17.4.3.1.2 |\
     cut -c44- | \
     awk -F " " '{ print 1,ドル4ドル }' | \
     sort -k 1,1 > /scriptsOID/bridge.dat
     #recuperation du portID et creation du fichier portid.dat
     snmpwalk -v 2c -c public -Of $swip .1.3.6.1.2.1.17.1.4.1.2 | \
     cut -c45- | \
     awk -F " " '{ print 4,ドル1ドル }' | \
     sort -k 1,1 > /scriptsOID/portid.dat
     #recuperation du port et creation de port.dat
     snmpwalk -v 2c -c public -Of $swip .1.3.6.1.2.1.31.1.1.1.1 | \
     cut -c78- | \
     awk -F " " '{ print 1,ドル4ドル }' | \
     sort -k 1,1 > /scriptsOID/port.dat
     #jointure entre les fichier .dat pour former un fichier unique servant de base de donnee
     #jointure de mac1016.dat et port bridge.dat pour former mac16bridge.dat
     join -1 1 -2 1 mac1016.dat bridge.dat | \
     awk -F " " '{ print 3,ドル 2ドル} ' | \
     sort -k 1,1 > mac.sort
     #jointure de portid.dat et port.dat pour former portname.dat
     join -1 1 -2 1 portid.dat port.dat | \
     cut -d ' ' -f 2,3 | \
     #supression des lignes ayant pour portID lien trunk .
     if ($nbport == 52 );
     then
    awk -F " " '{if(1ドル != 49 && 1ドル!= 50 && 1ドル!= 51 && 1ドル!=52 )print 1,ドル 2ドル} ' |\ ;
     elif ($nbport == 26);
     then
    awk -F " " '{if(1ドル!= 25 && 1ドル!= 26 )print 1,ドル 2ドル} ' |\ ;
     fi
    sort -k 1,1 | \
     sed 's/$/'" ${nom}(IP= ${swip} ) ${machine} ${jour} ${heure}"'/g' > portname.sort
     #jointure de mac16bridge.dat et portname.dat pour former le fichier final BD.dat
     join -1 1 -2 1 mac.sort portname.sort >>BD.dat
     sort -u -k 2 BD.dat > BD.sort
     # inversement de lordre des entree afin de suprimer la plus ancienne ligne de celle qui on la meme mac address
     tac BD.sort | awk 'BEGIN { r="" } { while (3ドル == r) { next } ; r = 3ドル ; print }' | tac >bd.sort
     done < harvest.cfg