Souci avec la commande SET

Résolu
Bonjour,

J'éssaye de récuperer l'adresse IP à partir de l'adresse MAC, mais aussi de bien verifier que ce message est un Acknowledge du client vars le serveur DHCP:mais le script ne marche pas à partir de l'utilisation de la comande set car apparement le nombre d'arguments maximum pour la commande set est de $1 à $9. alorsque dans mon des logs DHCP, l'adresse MAC qui est mon critère de recherche est à l'emplacement $10. n'exist-il pas une autre alternative pour contourner cela. J'avais éssayé avec awk mais ça ne marche pas aussi.

voici mon script:

#:/bin/sh

IFS=" "

for mac in `cat fichier4.txt`
do
set $ligne
if [ "$10" = "$mac" -a "$6" = "DHCPACK"
then
IP=$8
mois=$1
jour=$2
heure=$3
breack
fi

echo "$user $mac $IP $mois $jour $heure" >> "trace"
done<loghcp.22
done

Mon fichier loghcp est de la forme:

May 14 22:34:37 syslogserver dhcpd: DHCPACK on 132.0.0.24 from 00:12:3f:bd:50:21 (client_ACS) via eth0
(ils sont tous sur la même ligne)

May 14 22:44:37 syslogserver dhcpd: DHCPACK on 132.0.0.24 from 00:19:b9:2f:a5:27 (dell8) via eth0

etc.

et mon fichier4.txt contient:
00:12:3f:bd:50:21
00:19:b9:2f:a5:27
00:12:3f:bd:50:21
00:19:b9:2f:a5:27
00:12:3f:bd:50:21
00:19:b9:2f:a5:27

tandisque le nom d'utilisateur je le récupère tout à fait au début de mon script( que j'ai pas mentionné ici).

Désolé pour ce long message mais je voulais être le plus clair possible.

Merçi de votre aide.
Configuration: Windows 2000
Firefox 1.5.0.11

14 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Salut,

    Tiens essaie ça, je l'ai un peu remanié :
    #! /bin/sh
    
    printf "%sAdresse MAC%s\t\tAdresse IP%s\tMois%s\tJour%s\tHeure\n" > trace
    
    while read ligne
    do
    grep "$ligne" loghcp.22 | grep DHCPACK >/dev/null
    retval=$?
    if [ "$retval" == 0 ]
    then
    set $(grep "$ligne" loghcp.22)
    IP=${8}
    mois=${1}
    jour=${2}
    heure=${3}
    printf "%s$ligne%s\t$IP%s\t$mois%s\t$jour%s\t$heure\n" >> "trace"
    fi
    done < fichier4.txt
    ;-))
    1. Modérateur
      J'avais oublié pour ton problème de paramètre supérieur à 10, il suffit de les appeler comme suit :
      echo ${10} ${12} etc...
      ;-))
      1. coucou,

        Au fait Jipicy, le script marche finalement. En fait il fallait remplacer les printf par echo " $ligne $IP £mois $jour $heure" >> "trace". A quoi sert ton premier printf?
        Mais il recherche l'adresse MAc que pour les deux premières lignes.
        t'es vraiment le meilleur ( si je peut te tutoyer).

        J'ai une autre question:
        Comment faire pour automatiser l'exécution du script. Je sais qu'il faut utiliser la commande Crontab, mais le, problème est que je logue mes fichiers par jour et que ce script doit prendre en paramètres deux fichiers de la forme: logacs.x et logdhcp.y avec x et y l'heure dans la journée.

        J'ai pensé un truc du genre donnée l'heure en paramètre lors de l'exécution du script. mais ça non plus ce n'est pas automatique.

        Merçi encore de votre aide.
    2. rebonjour,

      J'ai testé le script , mais ya rien dans le fichier Trace.

      Merçi.
      1. Modérateur
        Bizarre :-\

        Voilà ce que ça donne chez moi :
        jp@MDK:~/tmpfs ssh$ cat fichier4.txt
        
        00:12:3f:bd:50:21
        00:19:b9:2f:a5:27
        00:12:3f:bd:50:21
        00:19:b9:2f:a5:27
        00:12:3f:bd:50:21
        00:19:b9:2f:a5:27
        
        jp@MDK:~/tmpfs ssh$ cat loghcp.22
        
        May 14 22:34:37 syslogserver dhcpd: DHCPACK on 132.0.0.24 from 00:12:3f:bd:50:21 (client_ACS) via eth0
        May 14 22:44:37 syslogserver dhcpd: DHCPACK on 132.0.0.24 from 00:19:b9:2f:a5:27 (dell8) via eth0
        
        jp@MDK:~/tmpfs ssh$ cat 2_dieng.sh
        
        #! /bin/sh
        
        printf "%sAdresse MAC%s\t\tAdresse IP%s\tMois%s\tJour%s\tHeure\n" > trace
        
        while read ligne
        do
        grep "$ligne" loghcp.22 | grep DHCPACK >/dev/null
        retval=$?
        if [ "$retval" == 0 ]
        then
        set $(grep "$ligne" loghcp.22)
        IP=${8}
        mois=${1}
        jour=${2}
        heure=${3}
        printf "%s$ligne%s\t$IP%s\t$mois%s\t$jour%s\t$heure\n" >> "trace"
        fi
        done < fichier4.txt
        
        jp@MDK:~/tmpfs ssh$ sh 2_dieng.sh
        
        jp@MDK:~/tmpfs ssh$ cat trace
        
        Adresse MAC             Adresse IP      Mois    Jour    Heure
        00:12:3f:bd:50:21       132.0.0.24      May     14      22:34:37
        00:19:b9:2f:a5:27       132.0.0.24      May     14      22:44:37
        00:12:3f:bd:50:21       132.0.0.24      May     14      22:34:37
        00:19:b9:2f:a5:27       132.0.0.24      May     14      22:44:37
        00:12:3f:bd:50:21       132.0.0.24      May     14      22:34:37
        00:19:b9:2f:a5:27       132.0.0.24      May     14      22:44:37
        
        jp@MDK:~/tmpfs ssh$
        ;-))
        1. Rebonjour,

          J'ai vraiment un souci, le script il ne boucle que sur les deux premières lignes. J'ai essayé de le changer mais toujours pareil.
          Je comprends pas d'où vient le problème.

          Merçi encore.
      2. Modérateur
        Affiche une dizaine de lignes de chaque fichiers qu'on puisse tester...
        1. Voici le contenu du fichier logacs.20

          May 14 20:00:36 192.168.2.1 CisACS_01_PassedAuth 1rgw406cg 1 0 Message-Type=Authen OK,User-Name=nadieng@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-3F-BD-50-21,NAS-Port=9
          May 14 20:00:38 192.168.2.1 CisACS_01_PassedAuth 1s0varqch 1 0 Message-Type=Authen OK,User-Name=mathieu@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-B9-2F-A5-27,NAS-Port=6
          May 14 20:01:36 192.168.2.1 CisACS_01_PassedAuth 9353k6ci 1 0 Message-Type=Authen OK,User-Name=nadieng@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-3F-BD-50-21,NAS-Port=9
          May 14 20:01:38 192.168.2.1 CisACS_01_PassedAuth 9n4abqcj 1 0 Message-Type=Authen OK,User-Name=mathieu@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-B9-2F-A5-27,NAS-Port=6
          May 14 20:02:36 192.168.2.1 CisACS_01_PassedAuth pqgqiuck 1 0 Message-Type=Authen OK,User-Name=nadieng@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-3F-BD-50-21,NAS-Port=9
          May 14 20:02:38 192.168.2.1 CisACS_01_PassedAuth qafxaecl 1 0 Message-Type=Authen OK,User-Name=mathieu@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-B9-2F-A5-27,NAS-Port=6
          May 14 20:03:36 192.168.2.1 CisACS_01_PassedAuth 16dsdhicm 1 0 Message-Type=Authen OK,User-Name=nadieng@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-3F-BD-50-21,NAS-Port=9
          May 14 20:03:38 192.168.2.1 CisACS_01_PassedAuth 16xrk92cn 1 0 Message-Type=Authen OK,User-Name=mathieu@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-B9-2F-A5-27,NAS-Port=6
          May 14 20:04:36 192.168.2.1 CisACS_01_PassedAuth 1n140g6co 1 0 Message-Type=Authen OK,User-Name=nadieng@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-3F-BD-50-21,NAS-Port=9
          May 14 20:04:38 192.168.2.1 CisACS_01_PassedAuth 1nl377qcp 1 0 Message-Type=Authen OK,User-Name=mathieu@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-B9-2F-A5-27,NAS-Port=6
          May 14 20:05:36 192.168.2.1 CisACS_01_PassedAuth 4nd006cq 1 0 Message-Type=Authen OK,User-Name=nadieng@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-3F-BD-50-21,NAS-Port=9
          May 14 20:05:38 192.168.2.1 CisACS_01_PassedAuth 57c6rqcr 1 0 Message-Type=Authen OK,User-Name=mathieu@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-B9-2F-A5-27,NAS-Port=6
          May 14 20:06:36 192.168.2.1 CisACS_01_PassedAuth laomyucs 1 0 Message-Type=Authen OK,User-Name=nadieng@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-3F-BD-50-21,NAS-Port=9

          logdhcp.20May 14 20:04:38 syslogserver dhcpd: Wrote 2 leases to leases file.
          May 14 20:04:38 syslogserver dhcpd: DHCPREQUEST for 192.168.0.1 from 00:22:3f:bd:50:21 (Client_ACS) via eth0
          May 14 20:04:38 syslogserver dhcpd: DHCPACK on 192.168.0.1 to 00:22:3f:bd:50:21 (Client_ACS) via eth0
          May 14 20:04:41 syslogserver dhcpd: DHCPREQUEST for 192.168.0.2 from 00:22:b9:2f:a5:27 (toto8) via eth0
          May 14 20:04:41 syslogserver dhcpd: DHCPACK on 192.168.0.2 to 00:22:b9:2f:a5:27 (toto8) via eth0
          May 14 20:34:38 syslogserver dhcpd: DHCPREQUEST for 192.168.0.1 from 00:22:3f:bd:50:21 (Client_ACS) via eth0
          May 14 20:34:38 syslogserver dhcpd: DHCPACK on 192.168.0.1 to 00:22:3f:bd:50:21 (Client_ACS) via eth0
          May 14 20:34:41 syslogserver dhcpd: DHCPREQUEST for 192.168.0.2 from 00:22:b9:2f:a5:27 (toto8) via eth0
          May 14 20:34:41 syslogserver dhcpd: DHCPACK on 192.168.0.2 to 00:22:b9:2f:a5:27 (toto8) via eth0

          voici le script:

          #!/bin/sh
          # decoupage fichier acs
          cat logacs.20 | grep ".*PassedAuth" | awk 'BEGIN{FS=","} {print $2 "," $4}' | awk 'BEGIN{FS=","} {n=split($1,tab,"="); print tab[n] "," $2;}' | awk 'BEGIN{FS=","} {n=split($2,tab,"="); print $1 "," tab[n];}' > fichier.txt
          # transforme l'adresse MAC
          sed -e 's/-/:/g' fichier.txt > fichier1.txt

          while read ligne
          do
          #echo $ligne
          mac=`echo $ligne | tr 'A-Z' 'a-z'`
          echo "$mac" | sed 's/^/0/' >> fichier2.txt

          done < fichier1.txt

          #pour raffraichissement
          #rm -rf fichier1.txt

          # recuperation infos dans fichier logdhcp en fonction @MAC de ACS

          printf "%sUSER%s\t\tMAC%s\t%sIP%s\t\tMOIS%s\tJOUR%s\tHEURE\n" > "trace"

          while read ligne
          do
          grep "$ligne" loghcp.20 | grep "DHCPACK" > verif.txt

          retval=$?
          if [ "$retval" == 0 ]
          then
          set $(grep "$ligne" loghcp.20)
          IP=${8}
          mois=${1}
          jour=${2}
          heure=${3}
          printf "%s$ligne%s\t$IP%s\t$mois%s\t$jour%s\t$heure\n" >> "trace"
          fi
          done < fichier2.txt

          # fin
          1. Modérateur
            Re-

            Change ta ligne :
            echo "$mac" | sed 's/^/0/' >> fichier2.txt
            par :
            echo "$mac" | sed 's/^.* /0/' >> fichier2.txt
            Attention à ne pas oublier l'espace derrière l'étoile (* ).

            Rajoute aussi la variable :
            name=${11}
            et change ton dernier "printf" par :
            printf "%s${name//[!a-zA-Z]}\t%s$ligne%s\t$IP%s\t$mois%s\t$jour%s\t$heure\n" >> "trace"
            Faudra surement ajuster la sortie avec "printf".

            ;-))
            1. bonjour jipicy,

              je te remerçie ça marche.

              C'est bien vrai que le savoir n'est bon que s'il est partagé!!!!!!
              1. Rebonjour Jipicy,

                Je reviens pour poser une dernière question.

                Le script marche , mais il ya un petit souci car il recopie chaque entrée de l'adresse MAC trouvé dans le fichier DHCP,sur tous les noms d'utilisateurs.

                Donc pour résoudre ce problème, j'ai voulu prendre l'heure et l'adresse MAc du fichier ACS comme eléments de recherches. De ce fait, je vais comparer l'heure et l'adresse MAc des deux fichiers si c'est les même, je récupère l'adresse IP et je recopie tout dans le fichier trace.Sauf que l'heure que j vais récuperer dans le fichier ACS, ne contient que heure:minute, car les deux fichiers diffèrent à quelques secondes près.

                sauf qu'il refuse de marcher, j'ai utilisé la commande grep.

                Thanks for your help.
                1. Modérateur
                  Salut,

                  Affiche la commande exacte que tu utilises.
                  Pour une meilleure compréhension, affiche aussi un bout de chaque fichier et le résultat escompté ;-))
                  1. more logacs.20

                    May 14 20:00:36 192.168.2.1 CisACS_01_PassedAuth 1rgw406cg 1 0 Message-Type=Authen OK,User-Name=nadieng@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-3F-BD-50-21,NAS-Port=9
                    May 14 20:00:38 192.168.2.1 CisACS_01_PassedAuth 1s0varqch 1 0 Message-Type=Authen OK,User-Name=mathieu@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-B9-2F-A5-27,NAS-Port=6
                    May 14 20:01:36 192.168.2.1 CisACS_01_PassedAuth 9353k6ci 1 0 Message-Type=Authen OK,User-Name=nadieng@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-3F-BD-50-21,NAS-Port=9
                    May 14 20:01:38 192.168.2.1 CisACS_01_PassedAuth 9n4abqcj 1 0 Message-Type=Authen OK,User-Name=mathieu@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-B9-2F-A5-27,NAS-Port=6
                    May 14 20:02:36 192.168.2.1 CisACS_01_PassedAuth pqgqiuck 1 0 Message-Type=Authen OK,User-Name=nadieng@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-3F-BD-50-21,NAS-Port=9
                    May 14 20:02:38 192.168.2.1 CisACS_01_PassedAuth qafxaecl 1 0 Message-Type=Authen OK,User-Name=mathieu@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-B9-2F-A5-27,NAS-Port=6
                    May 14 20:03:36 192.168.2.1 CisACS_01_PassedAuth 16dsdhicm 1 0 Message-Type=Authen OK,User-Name=nadieng@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-3F-BD-50-21,NAS-Port=9
                    May 14 20:03:38 192.168.2.1 CisACS_01_PassedAuth 16xrk92cn 1 0 Message-Type=Authen OK,User-Name=mathieu@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-B9-2F-A5-27,NAS-Port=6
                    May 14 20:04:36 192.168.2.1 CisACS_01_PassedAuth 1n140g6co 1 0 Message-Type=Authen OK,User-Name=nadieng@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-3F-BD-50-21,NAS-Port=9
                    May 14 20:04:38 192.168.2.1 CisACS_01_PassedAuth 1nl377qcp 1 0 Message-Type=Authen OK,User-Name=mathieu@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-B9-2F-A5-27,NAS-Port=6
                    May 14 20:05:36 192.168.2.1 CisACS_01_PassedAuth 4nd006cq 1 0 Message-Type=Authen OK,User-Name=nadieng@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-3F-BD-50-21,NAS-Port=9
                    May 14 20:05:38 192.168.2.1 CisACS_01_PassedAuth 57c6rqcr 1 0 Message-Type=Authen OK,User-Name=mathieu@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-B9-2F-A5-27,NAS-Port=6
                    May 14 20:06:36 192.168.2.1 CisACS_01_PassedAuth laomyucs 1 0 Message-Type=Authen OK,User-Name=nadieng@test.lan,NAS-IP-Address=192.168.1.3,Caller-ID= 0-22-3F-BD-50-21,NAS-Port=9

                    more logdhcp.20

                    ogdhcp.20May 14 20:04:38 syslogserver dhcpd: Wrote 2 leases to leases file.
                    May 14 20:04:38 syslogserver dhcpd: DHCPREQUEST for 192.168.0.1 from 00:22:3f:bd:50:21 (Client_ACS) via eth0
                    May 14 20:04:38 syslogserver dhcpd: DHCPACK on 192.168.0.1 to 00:22:3f:bd:50:21 (Client_ACS) via eth0
                    May 14 20:04:41 syslogserver dhcpd: DHCPREQUEST for 192.168.0.2 from 00:22:b9:2f:a5:27 (toto8) via eth0
                    May 14 20:04:41 syslogserver dhcpd: DHCPACK on 192.168.0.2 to 00:22:b9:2f:a5:27 (toto8) via eth0
                    May 14 20:34:38 syslogserver dhcpd: DHCPREQUEST for 192.168.0.1 from 00:22:3f:bd:50:21 (Client_ACS) via eth0
                    May 14 20:34:38 syslogserver dhcpd: DHCPACK on 192.168.0.1 to 00:22:3f:bd:50:21 (Client_ACS) via eth0
                    May 14 20:34:41 syslogserver dhcpd: DHCPREQUEST for 192.168.0.2 from 00:22:b9:2f:a5:27 (toto8) via eth0
                    May 14 20:34:41 syslogserver dhcpd: DHCPACK on 192.168.0.2 to 00:22:b9:2f:a5:27 (toto8) via eth0

                    script:

                    tempo_file1="/tmp/fichier.txt"
                    tempo_file2="/tmp/verif.txt"
                    perm_file="trace"
                    dir="/var/log/"

                    cat logacs.20 | grep ".*PassedAuth" | awk 'BEGIN{FS=","} {print $2 "," $4}' | awk 'BEGIN{FS=","} {n=split($1,tab,"="); print tab[n] "," $2;}' | awk 'BEGIN{FS=","} {n=split($2,tab,"="); print tab[n] " " $1;}' | tr 'A-Z' 'a-z' | sed -e 's/-/:/g;s/^ /0/' > ${tempo_file1}

                    # recuperation infos dans fichier logdhcp en fonction @MAC de ACS

                    echo -e "USER\t\t\tMAC\t\t\tIP\t\tANNEE\tMOIS\tJOUR\tHEURE" > "${dir}/${perm_file}"

                    while read ligne
                    do
                    set $ligne
                    mac=${1}
                    user=${2}

                    grep ${mac} logdhcp.20 | grep "DHCPACK" >> ${tempo_file2}
                    # on recherche à partir de l'@ MAC( fichier tempo-file) dans le fichier DHCP, tous les lignes qui ont DHCPACK
                    # tempo_file2 ne contient que les lignes de logdhcp qui sont des acknowledges

                    while read autre_ligne
                    do
                    set $autre_ligne
                    ip=${8}
                    mois=${1}
                    jour=${2}
                    heure=${3}
                    echo -e "$user\t$mac\t$ip\t$year\t$mois\t$jour\t$heure" >> "${dir}/${perm_file}"
                    done < ${tempo_file2}

                    done < ${tempo_file1}

                    sauf que j'ai ça comme résultat:

                    USER MAC IP ANNEE MOIS JOUR HEURE
                    cnestestnadieng 00:22:3f:bd:50:21 192.168.0.1 2007 May 14 20:04:38
                    cnestestnadieng 00:22:3f:bd:50:21 192.168.0.1 2007 May 14 20:04:41
                    cnestestnadieng 00:22:3f:bd:50:21 192.168.0.1 2007 MAy 14 20:34:48
                    cnestestnadieng 00:22:3f:bd:50:21 192.168.0.1 2007 MAy 14 20:34:41
                    cnestestmathieu 00:22:b9:2f:a5:27 192.168.0.2 2007 May 14 20:04:38
                    cnestestmathieu 00:22:b9:2f:a5:27 192.168.0.2 2007 May 14 20:04:41
                    cnestestmathieu 00:22:b9:2f:a5:27 192.168.0.2 2007 MAy 14 20:34:48
                    cnestestmathieu 00:22:b9:2f:a5:27 192.168.0.2 2007 MAy 14 20:34:41

                    au lieu:
                    USER MAC IP ANNEE MOIS JOUR HEURE
                    cnestestnadieng 00:22:3f:bd:50:21 192.168.0.1 2007 May 14 20:04:38
                    cnestestmathieu 00:22:b9:2f:a5:27 192.168.0.2 2007 May 14 20:04:41
                    cnestestnadieng 00:22:3f:bd:50:21 192.168.0.1 2007 May 14 20:34:38
                    cnestestmathieu 00:22:b9:2f:a5:27 192.168.0.2 2007 May 14 20:34:41

                    j'ai décidé de récuperer aussi l'heure du fichier acs et de l'ajouter comme paramètre de recherche de l'adresse IP en plus de l'adresse MAC.

                    cat logacs.20 | grep ".*PassedAuth" | awk 'BEGIN{FS=","} {print $1 "," $2 "," $4}' | awk 'BEGIN{FS=","}{m=split($1,tab," ");print tab[3] "," $2 "," $3;}' | sed -e 's/(.*\)/\1:\2/' #| awk 'BEGIN{FS=","} {n=split($2,tab,"="); print tab[n] "," $1 "," $3;}' | awk 'BEGIN{FS=","} {n=split($3,tab,"="); print tab[n] " " $2 " " $1;}' | tr 'A-Z' 'a-z' | sed -e 's/-/:/g;s/^ /0/' > "$tempo_file1"

                    Thanks for your help.
                    1. Modérateur
                      Re-

                      Tiens avec ça tu devrais arriver à tes fins :
                      [jp@MDK tmpfs]$ cat plop
                      
                      USER MAC IP ANNEE MOIS JOUR HEURE
                      cnestestnadieng 00:22:3f:bd:50:21 192.168.0.1 2007 May 14 20:04:38
                      cnestestnadieng 00:22:3f:bd:50:21 192.168.0.1 2007 May 14 20:04:41
                      cnestestnadieng 00:22:3f:bd:50:21 192.168.0.1 2007 MAy 14 20:34:48
                      cnestestnadieng 00:22:3f:bd:50:21 192.168.0.1 2007 MAy 14 20:34:41
                      cnestestmathieu 00:22:b9:2f:a5:27 192.168.0.2 2007 May 14 20:04:38
                      cnestestmathieu 00:22:b9:2f:a5:27 192.168.0.2 2007 May 14 20:04:41
                      cnestestmathieu 00:22:b9:2f:a5:27 192.168.0.2 2007 MAy 14 20:34:48
                      cnestestmathieu 00:22:b9:2f:a5:27 192.168.0.2 2007 MAy 14 20:34:41
                      
                      [jp@MDK tmpfs]$ sort -r plop | uniq -6 -w5
                      
                      USER MAC IP ANNEE MOIS JOUR HEURE
                      cnestestnadieng 00:22:3f:bd:50:21 192.168.0.1 2007 MAy 14 20:34:48
                      cnestestnadieng 00:22:3f:bd:50:21 192.168.0.1 2007 May 14 20:04:41
                      cnestestmathieu 00:22:b9:2f:a5:27 192.168.0.2 2007 MAy 14 20:34:48
                      cnestestmathieu 00:22:b9:2f:a5:27 192.168.0.2 2007 May 14 20:04:41
                      
                      [jp@MDK tmpfs]$  
                      man sort et man uniq sont tes nouveaux amis ;-))
                      1. si si j'avais utilisé cette commande.

                        sauf que non parceque c'est nadieng c'est connecté à 20:04:48 puis mathieu à 20:04:41 ensuite nadieng 20:34:48 et enfin mathieu à 20:04:41

                        Le problèce c'est que le grep ne les prends pas dans l'ordre.
                        Thanks for your help.
                        1. Rebonjour,

                          auriez vous pas une idée sur ce problème . Comment pourrai-je le résoudre?

                          Thanks for your help.