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 :

lister repertoire + recherche dans fichier + envoi mail


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 225
    Par défaut lister repertoire + recherche dans fichier + envoi mail
    Bonjour

    je souhaiterai envoyer un mail à plusieurs destinataires :

    mailx -s "sujet" `cat destinataire` < mail_message.txt

    où :
    mail_message.txt contient le message
    destinataire contient la liste des destinataires

    mon souci réside dans la constitution de ce dernier fichier : destinataire

    en effet pour obtenir cette liste de destinataires je dois :

    scanner un repertoire (boite mail)
    pour chaque fichier extraire la ligne "login : pnom"
    pour chaque occurence prendre pnom le concaténer avec "@domaine.com" et "," sauf pour la dernière occurence.

    ce que j'ai fait pour l'instant :

    for i in `ls` ; do cat $i | grep login >> destinataire ; done

    cela me donne :
    login : pnom1
    login : pnom2
    login : pnom3
    login : pnom4

    il me faudrait retravailler ce fichier pour obtenir :
    pnom1@domaine.com, pnom2@domaine.com, pnom3@domaine.com,pnom4@domaine.com

    si pour quelqu'un c'est facile ! merci d'avance
    n

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 225
    Par défaut
    je teste une solution avec awk, soit le fichier de depart destinataire :
    login : pnom1
    login : pnom2
    login : pnom3
    login : pnom4


    cat destinataire | awk -F":" '{print $2"@domaine.com,"}'
    @domaine.com,
    @domaine.com,
    @domaine.com,
    @domaine.com,

    ... je ne comprend pas, je devrais pourtant avoir :
    pnom1@domaine.com,
    pnom2@domaine.com,
    pnom3@domaine.com,
    pnom4@domaine.com,

    non?
    a+
    n

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 654
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 654
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    dirmail=/chemin/maildir
    for fic in $dirmail/*
     do
       login="$(grep login $fic)"
       adresses="${adresses}${login##*: }@domaine.com,"
    done
    echo "$adresses" > destinataire
    ...
    ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 225
    Par défaut
    merci de ta reponse, ca ne marche pas super :
    voici ce que j'obtiens avec ton script :
    @domaine.com,@domaine.com,@domaine.com,@domaine.com,

    ?

    peux tu m'expliquer ce que fait la ligne :

    adresses="${adresses}${login##*: }@domaine.com,"

    a+
    n

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 654
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 654
    Par défaut
    Bonjour nine,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    adresses="${adresses}${login##*: },"
    Cela veut remplacer, dans la variable $login, tout ce qui ce trouve avant ': ', et l'ajouter à la valeur précédente de $adresses.

    En remplaçant par echo "d: $fic -- $login --", j'y verrai plus clair...
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 225
    Par défaut
    merci pour ton temps
    mais je viens de comprendre , il y a des caractère ^M en fin de ligne...
    en les supprimant ça marche
    sous debian ces caractères ne sont pas genérés c'est quand je teste sous solaris que j'ai ce problème
    a+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recherche dans fichier xml
    Par sandytarit dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 19/03/2007, 10h28
  2. Recherche dans fichier
    Par Débéa dans le forum Général Python
    Réponses: 2
    Dernier message: 26/07/2006, 14h51
  3. recherche dans fichier xml
    Par piro dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/03/2006, 08h11
  4. Réponses: 4
    Dernier message: 28/10/2005, 09h59
  5. Recherche dans fichiers
    Par Tchinkatchuk dans le forum Linux
    Réponses: 2
    Dernier message: 17/06/2005, 10h32

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