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 :

script de suppression d'emails redondant


Sujet :

Linux

  1. #1
    Membre averti Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Points : 355
    Points
    355
    Par défaut script de suppression d'emails redondant
    Bonjour,
    J'aimerai faire un script en bash qui me permettent de supprimer toutes les adresses emails en doubles.
    j'aimerai avoir une piste pour commencer ou alors si quelqu'un l'a deja fait fait pourquoi pas .
    merci d'avance pour vos reponses

  2. #2
    Membre averti Avatar de fransoo
    Inscrit en
    Novembre 2009
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 209
    Points : 300
    Points
    300
    Par défaut
    Une piste :

  3. #3
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 129
    Points
    28 129
    Par défaut
    Bonjour,

    Une seconde piste pour la route :

  4. #4
    Membre averti Avatar de fransoo
    Inscrit en
    Novembre 2009
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 209
    Points : 300
    Points
    300
    Par défaut 3ème indice
    Prendre d'abord la deuxième piste et ensuite la première
    Le pipe est ton ami.

  5. #5
    Membre averti Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Points : 355
    Points
    355
    Par défaut
    en faites mon fichier d'emails ressemble a ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    email1@domaine1.fr, email2@domaine2.com, email3@domaine3.fr,
    email4@domaine4.fr, 
    email2@domaine2.com, email5@domaine5.fr, email7@domaine7.fr, email8@domaine8.com, 
    email1@domaine1.fr
    Avec le uniq, Les lignes identiques doivent être adjacentes pour être supprimées.
    cad
    aaaa
    aaaa
    bbbb
    bbbb
    donne
    aaaa
    bbbb
    J'aimerai qu le resultat de mon exemple de fichier ressemble a ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    email1@domaine1.fr, email2@domaine2.com, email3@domaine3.fr,
    email4@domaine4.fr, 
    email5@domaine5.fr, email7@domaine7.fr, email8@domaine8.com,
    petite pércision: mon fichier est composé d'un email suivi d'une virgule puis espace un autre emails.
    il peut y avoir plusieurs emails suivants les lignes
    ex:
    la 1ere ligne contiendra 3 emails tandis que la 24 lignes contiendra 1 email

  6. #6
    Membre averti Avatar de fransoo
    Inscrit en
    Novembre 2009
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 209
    Points : 300
    Points
    300
    Par défaut
    Citation Envoyé par mouss4rs Voir le message
    Avec le uniq, Les lignes identiques doivent être adjacentes pour être supprimées.
    C'est pourquoi il faut fair un sort (tri) avant
    Maintenant, s'il y en a plusieurs par ligne il faudrait remplacer les virgules par des retours à la ligne
    Faut-il vraiment conserver la mise ne page de sortie avec plusieurs mails par ligne ? Cela nécessiterait un script plus complexe.

  7. #7
    Membre averti Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Points : 355
    Points
    355
    Par défaut
    Non, on peut le formatter du genre
    un email suivi d'une virgule puis à la ligne pour un autre email suivi d'une virgule

  8. #8
    Membre averti Avatar de fransoo
    Inscrit en
    Novembre 2009
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 209
    Points : 300
    Points
    300
    Par défaut ça y est !
    Voilà ce que ça donne chez moi avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat input.txt | sed -e 's/, /\n/g' | sort | uniq
    Sortie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    email1@domaine1.fr
    email2@domaine2.com
    email3@domaine3.fr,
    email4@domaine4.fr,
    email5@domaine5.fr
    email7@domaine7.fr
    email8@domaine8.com,
    J'étudie le meilleur moyen de supprimer les virgules de fin
    Voilà
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat input.txt | sed -e 's/, /\n/g' -e 's/,*$//' | sort | uniq

  9. #9
    Membre averti Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Points : 355
    Points
    355
    Par défaut
    Non, justement j'aimerai les gardés

  10. #10
    Membre averti Avatar de fransoo
    Inscrit en
    Novembre 2009
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 209
    Points : 300
    Points
    300
    Par défaut
    Citation Envoyé par mouss4rs Voir le message
    Non, justement j'aimerai les gardés
    Oui mais des fois il y en a et des fois pas

  11. #11
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 129
    Points
    28 129
    Par défaut
    Bonjour,

    Si tu souhaites garder les virgules a la fin, il suffit de ne pas les remplacer :
    Citation Envoyé par fransoo Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat input.txt | sed -e 's/, /,\n/g' -e 's/,*$//' | sort | uniq
    Soucis : les chaines de caracteres suivantes seront considerees comme differentes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    email1@domaine1.fr
    email1@domaine1.fr,
    Solution : ne comparer que les caracteres avant la virgule. Mais je doute fort que tu trouves une maniere simple de faire cela...

  12. #12
    Membre actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Points : 288
    Points
    288
    Par défaut
    Il suffit de supprimer les virgules puis de les remettre, non ?

  13. #13
    Membre averti Avatar de fransoo
    Inscrit en
    Novembre 2009
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 209
    Points : 300
    Points
    300
    Par défaut
    Citation Envoyé par huit_six Voir le message
    Il suffit de supprimer les virgules puis de les remettre, non ?
    Sauf s'il ne les veut pas partout

  14. #14
    Membre actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Points : 288
    Points
    288
    Par défaut
    Citation Envoyé par mouss4rs Voir le message
    Non, on peut le formatter du genre
    un email suivi d'une virgule puis à la ligne pour un autre email suivi d'une virgule
    Apparemment il les veux partout (enfin c'est ce que je comprends)

Discussions similaires

  1. [OL-2010] Script de suppression d'email
    Par sertorius dans le forum VBA Outlook
    Réponses: 2
    Dernier message: 24/12/2012, 12h24
  2. Script de suppression et de recréation de base
    Par nico93100 dans le forum Oracle
    Réponses: 3
    Dernier message: 17/12/2005, 12h06
  3. Script validité d'un email ?
    Par rocs dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/06/2005, 14h53
  4. [RMAN] script de suppression
    Par alxkid dans le forum Oracle
    Réponses: 3
    Dernier message: 01/09/2004, 07h51
  5. Script de suppression d'archives sous WINDOWS
    Par alxkid dans le forum Administration
    Réponses: 3
    Dernier message: 18/08/2004, 11h11

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