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

Linux Discussion :

Prob de statistique de carnet d'adresse


Sujet :

Linux

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Prob de statistique de carnet d'adresse
    Bonjour tout le monde, j'ai un problème en script unix pour faire une petite statistique sur un carnet d'adresse. Le principe c'est qu'on demande à l'utilisateur un fournisseur de mail ( sympatico, videotron, hotmail, etc ) et on affiche 2 statistiques à partir d'un fichier ( "car" ici) :
    1- le nombre de personne inscrit avec le fournisseur
    Cela fonctionne bien mais c'est la 2 ème partie qui me donne du fil à retordre

    2- le pourcentage du fournisseur demandé moins les adresses piratées qui seraient afficher comme ceci :
    nom prénom adresse courriel date d'inscription
    !Alert Spam!! lien 1900_12_25
    00000 SPAM email 1900_12_25

    Il y a des personnes qui me disent de prendre awk mais je vois pas comment m'y prendre pour faire le calcul

    En espérant que vous allez m'aider!!

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 730
    Points : 31 053
    Points
    31 053
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par darkice194 Voir le message
    Bonjour tout le monde, j'ai un problème en script unix pour faire une petite statistique sur un carnet d'adresse. Le principe c'est qu'on demande à l'utilisateur un fournisseur de mail ( sympatico, videotron, hotmail, etc ) et on affiche 2 statistiques à partir d'un fichier ( "car" ici) :
    1- le nombre de personne inscrit avec le fournisseur
    Cela fonctionne bien mais c'est la 2 ème partie qui me donne du fil à retordre

    2- le pourcentage du fournisseur demandé moins les adresses piratées qui seraient afficher comme ceci :
    nom prénom adresse courriel date d'inscription
    !Alert Spam!! lien 1900_12_25
    00000 SPAM email 1900_12_25

    Il y a des personnes qui me disent de prendre awk mais je vois pas comment m'y prendre pour faire le calcul

    En espérant que vous allez m'aider!!
    Ben un pourcentage c'est une règle de 3 entre le nombre d'éléments correspondants "n" et le nombre total d'éléments "tot"
    résultat=n * 100 / tot...

    Donc si tu prends awk ben à chaque ligne qui correspond tu incrémentes un petit compteur et dans le bloc END {} tu affiches le résultat en utilisant NR (nombre de lignes) qui devrait être égal au nombre d'éléments "tot" de mon exemple...

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    j'ai faite une logique avec se que tu m'as dit et il me donne pas d'erreur et n'affiche rien...

    Voici mon 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
    FournisseurInternet() {
     
    echo "Veuillez entrer le nom du fournisseur internet que vous désirez rechercher."
    read fda  // peut etre hotmail , videotron et autre ...
     
    awk ' {
          if ( "$3" == (grep $fda car) )  // regarde dans la 3 eme colonne du fichier car et compare si le fda se retrouve
             {
              count[fda]++ // compteur du fda
              }
          else
              {
              if ("$2" == (grep "spam" car)) // regarde dans la 2 eme colonne du fichier car et compare si le mot spam se retrouve
                 {
                 count[spam]++  // compteur spam
                 }
              }
     
          pourcentage= $((count[fda] / ( NR - count[spam])) * 100) // calcul du pourcentage
          }
        END {   
            echo "Il y a $count[fda] % d usager qui utilise le fournisseur  $fda."
            echo "Il y a $pourcentage % du le carnet mail qui sont $fda."
            }
         ' car
    }
    je sais pas si c'est comme ca tu parlais mais a i ressemble... et mes if avant le end je suis pas sur que ca fonctionne!!

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 730
    Points : 31 053
    Points
    31 053
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par darkice194 Voir le message
    j'ai faite une logique avec se que tu m'as dit et il me donne pas d'erreur et n'affiche rien...

    Voici mon 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
    FournisseurInternet() {
     
    echo "Veuillez entrer le nom du fournisseur internet que vous désirez rechercher."
    read fda  // peut etre hotmail , videotron et autre ...
     
    awk ' {
          if ( "$3" == (grep $fda car) )  // regarde dans la 3 eme colonne du fichier car et compare si le fda se retrouve
             {
              count[fda]++ // compteur du fda
              }
          else
              {
              if ("$2" == (grep "spam" car)) // regarde dans la 2 eme colonne du fichier car et compare si le mot spam se retrouve
                 {
                 count[spam]++  // compteur spam
                 }
              }
     
          pourcentage= $((count[fda] / ( NR - count[spam])) * 100) // calcul du pourcentage
          }
        END {   
            echo "Il y a $count[fda] % d usager qui utilise le fournisseur  $fda."
            echo "Il y a $pourcentage % du le carnet mail qui sont $fda."
            }
         ' car
    }
    je sais pas si c'est comme ca tu parlais mais a i ressemble... et mes if avant le end je suis pas sur que ca fonctionne!!
    Le awk c'est pas du shell. Ca a sa propre syntaxe et tu peux pas y insérer des commandes shell comme "grep" ou "echo"...

    Donne déjà le format du fichier "car" qu'on puisse mieux comprendre ce que t'as voulu faire...

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Le fichier "car" contient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Lemagne charle charle.l@exemple.com 11/20/07
    Boureau Roger rboureau@hotmail.com 11/20/07
    Quintal Richard r.quintal@hotmail.com 11/20/07
    Cashlow Bob bob@cashlow.com 11/20/07
    le contenu est pas réelle c que des tests mais c'est de la forme suivante :
    Nom Prenom Adresse Date

  6. #6
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 730
    Points : 31 053
    Points
    31 053
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par darkice194 Voir le message
    Le fichier "car" contient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Lemagne charle charle.l@exemple.com 11/20/07
    Boureau Roger rboureau@hotmail.com 11/20/07
    Quintal Richard r.quintal@hotmail.com 11/20/07
    Cashlow Bob bob@cashlow.com 11/20/07
    le contenu est pas réelle c que des tests mais c'est de la forme suivante :
    Nom Prenom Adresse Date
    Bon ben déjà en tapant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nb=`cut -f3 -d' ' car |grep -c "@xxx\."`
    t'auras le nb de personnes ayant le fai "xxx"
    Avec "tot=`wc -l car`" t'auras le nb de lignes (donc le nb total de personnes de ton carnet) donc en faisant un calcul simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "$nb * 100 / $tot" |bc -l
    t'auras le pourcentages de gens ayant le fai xxx

    Tu répètes cet algo (pas exactement car "tot" ne change jamais) pour chaque fai demandé et ton programme est fini.

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    je te remercie mon cher pour cette aide ca marche number 1 et ce code est facile a comprendre m'a pouvoir finir mon projet!!

Discussions similaires

  1. Réponses: 7
    Dernier message: 06/11/2005, 10h00
  2. Server 2003 et partage de carnet d'adresse
    Par Yepazix dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 23/10/2005, 22h47
  3. Carnet d'adresses d'Outlook
    Par vciofolo dans le forum Access
    Réponses: 2
    Dernier message: 14/10/2005, 11h34
  4. Récupérer le carnet d'adresses de Outlook
    Par pc75 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 01/02/2005, 12h30

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