(J'ignore si il y a des passages a la ligne et si ce sont des passages a
la ligne a la Windows o a la UNIX, car on m'a envoyé la liste par mail)
bref ... des fois y a le nom+prenom, des fois y a pas.
en tout cas, les adressess mail sont toujours entre "<" et ">" .
ce que je voudrais c'est prendre uniquement les adresses, (entre "<" et
">") dans le but de faire un boucle du genre
OBJ="un sujet"
for ADRESSE in `cat adresse_liste.txt`; do
cat texte_a_mailer.txt | mail -s $OBJ $ADRESSE
done
Donc recuperer une adresse par ligne serai l'ideal.
C'est pas du spam. c'est juste pour un envoi unique.
J'utilise zsh
Je vais pas mettre en eouvre un truc de ML pour un envoi unique
J'ai vraiment pas envie de me taper la saisie manuelle des adresses
(risque de bacler le travail ...)
Donc avec awk (supposons) je sais faire pour isoler en prenant les
separateurs de champ "," (dasn un premier temps) ... mais ensuite c'est
plus compliqué ...
bref ... des fois y a le nom+prenom, des fois y a pas. en tout cas, les adressess mail sont toujours entre "<" et ">" .
Met tout ça dans le champs To:, ton logiciel sait se débrouiller avec.
Pas assez compliqué mon fils... ;-)
FAb
Laurent Wacrenier
Rakotomandimby Mihamina écrit:
Laurent Wacrenier wrote:
Met tout ça dans le champs To:, ton logiciel sait se débrouiller avec.
C'est pas aussi simple ... il vaut mieux que chaque destinataire ne reçoive pas aussi la liste complete ... enfin ... rien ne me l'interdit, mais je trouve que c'est pas du bon boulot ....
Met tout ça dans le champs To:, ton logiciel sait se débrouiller avec.
C'est pas aussi simple ... il vaut mieux que chaque destinataire ne
reçoive pas aussi la liste complete ... enfin ... rien ne me l'interdit,
mais je trouve que c'est pas du bon boulot ....
Met tout ça dans le champs To:, ton logiciel sait se débrouiller avec.
C'est pas aussi simple ... il vaut mieux que chaque destinataire ne reçoive pas aussi la liste complete ... enfin ... rien ne me l'interdit, mais je trouve que c'est pas du bon boulot ....
Met le alors dans le champ Bcc.
Rakotomandimby Mihamina
Laurent Wacrenier wrote:
Met tout ça dans le champs To:, ton logiciel sait se débrouiller avec.
C'est pas aussi simple ... il vaut mieux que chaque destinataire ne reçoive pas aussi la liste complete ... enfin ... rien ne me l'interdit, mais je trouve que c'est pas du bon boulot ....
Met tout ça dans le champs To:, ton logiciel sait se débrouiller avec.
C'est pas aussi simple ... il vaut mieux que chaque destinataire ne
reçoive pas aussi la liste complete ... enfin ... rien ne me l'interdit,
mais je trouve que c'est pas du bon boulot ....
Met tout ça dans le champs To:, ton logiciel sait se débrouiller avec.
C'est pas aussi simple ... il vaut mieux que chaque destinataire ne reçoive pas aussi la liste complete ... enfin ... rien ne me l'interdit, mais je trouve que c'est pas du bon boulot ....
Our enemies are innovative and resourceful, and so are we. They never stop thinking about new ways to harm our country and our people, and neither do we.
Our enemies are innovative and resourceful, and so are we. They never
stop thinking about new ways to harm our country and our people, and
neither do we.
Our enemies are innovative and resourceful, and so are we. They never stop thinking about new ways to harm our country and our people, and neither do we.
cedric
Rakotomandimby Mihamina wrote:
"Nom prenom" , , ...
bref ... des fois y a le nom+prenom, des fois y a pas. en tout cas, les adressess mail sont toujours entre "<" et ">" .
Au fait, et au risque de dire une connerie qui sera dans ce cas corrigée bien vite, il n'y a pas d'un coté le nom et de l'autre, entre '<' et '>', l'adresse mail. D'après le RFC, l'ensemble forme une adresse mail tout à fait valide et il n'y a pas de raison spéciale pour que ton éventuel programme les sépare.
bref ... des fois y a le nom+prenom, des fois y a pas.
en tout cas, les adressess mail sont toujours entre "<" et ">" .
Au fait, et au risque de dire une connerie qui sera dans ce cas corrigée
bien vite, il n'y a pas d'un coté le nom et de l'autre, entre '<' et
'>', l'adresse mail. D'après le RFC, l'ensemble forme une adresse mail
tout à fait valide et il n'y a pas de raison spéciale pour que ton
éventuel programme les sépare.
bref ... des fois y a le nom+prenom, des fois y a pas. en tout cas, les adressess mail sont toujours entre "<" et ">" .
Au fait, et au risque de dire une connerie qui sera dans ce cas corrigée bien vite, il n'y a pas d'un coté le nom et de l'autre, entre '<' et '>', l'adresse mail. D'après le RFC, l'ensemble forme une adresse mail tout à fait valide et il n'y a pas de raison spéciale pour que ton éventuel programme les sépare.
Marc Lasson
Rakotomandimby Mihamina wrote:
Bonjour,
Salut !
Alors, je previens: c'est pas très fin et ça come WITHOUT ANY WARRANTY ! On doit pouvoir réussir à trouver des entrées tordues (genre des retours à la ligne entre les guillemets ...) qui font planté le tout. En espérant que ça t'aide um poquito.
la liste est de la forme :
"Nom prenom" , , ...
(J'ignore si il y a des passages a la ligne et si ce sont des passages a la ligne a la Windows o a la UNIX, car on m'a envoyé la liste par mail)
bref ... des fois y a le nom+prenom, des fois y a pas. en tout cas, les adressess mail sont toujours entre "<" et ">" .
:~$ cat entree | sed 's/"[^"]*"//g' | tr , 'n' | sed 's/^[ t]*<([^>]*)>.*$/1/' grep -v '^$'
La première ligne est UUOC. La seconde vire tout ce qu'on peut trouver entre "". La troisième transforme les ',' en retour à la ligne. La quatrième extrait le contenu entre <>. La derniere efface les lignes blanches. Le tout écrit sur la sortie standard les mails de tes amis.
-- Marc.
Rakotomandimby Mihamina wrote:
Bonjour,
Salut !
Alors, je previens: c'est pas très fin et ça come WITHOUT ANY WARRANTY !
On doit pouvoir réussir à trouver des entrées tordues (genre des retours
à la ligne entre les guillemets ...) qui font planté le tout.
En espérant que ça t'aide um poquito.
La première ligne est UUOC.
La seconde vire tout ce qu'on peut trouver entre "".
La troisième transforme les ',' en retour à la ligne.
La quatrième extrait le contenu entre <>.
La derniere efface les lignes blanches.
Le tout écrit sur la sortie standard les mails de tes amis.
Alors, je previens: c'est pas très fin et ça come WITHOUT ANY WARRANTY ! On doit pouvoir réussir à trouver des entrées tordues (genre des retours à la ligne entre les guillemets ...) qui font planté le tout. En espérant que ça t'aide um poquito.
la liste est de la forme :
"Nom prenom" , , ...
(J'ignore si il y a des passages a la ligne et si ce sont des passages a la ligne a la Windows o a la UNIX, car on m'a envoyé la liste par mail)
bref ... des fois y a le nom+prenom, des fois y a pas. en tout cas, les adressess mail sont toujours entre "<" et ">" .
:~$ cat entree | sed 's/"[^"]*"//g' | tr , 'n' | sed 's/^[ t]*<([^>]*)>.*$/1/' grep -v '^$'
La première ligne est UUOC. La seconde vire tout ce qu'on peut trouver entre "". La troisième transforme les ',' en retour à la ligne. La quatrième extrait le contenu entre <>. La derniere efface les lignes blanches. Le tout écrit sur la sortie standard les mails de tes amis.
:~$ cat entree | sed 's/"[^"]*"//g' | tr , 'n' | sed 's/^[ t]*<([^>]*)>.*$/1/'
Il manquait le pipe a la fin de cette ligne.
grep -v '^$'
[...]
La première ligne est UUOC. La seconde vire tout ce qu'on peut trouver entre "". La troisième transforme les ',' en retour à la ligne. La quatrième extrait le contenu entre <>. La derniere efface les lignes blanches. Le tout écrit sur la sortie standard les mails de tes amis.
marc@georgie:~$ cat entree |
sed 's/"[^"]*"//g' |
tr , 'n' |
sed 's/^[ t]*<([^>]*)>.*$/1/'
Il manquait le pipe a la fin de cette ligne.
grep -v '^$'
user@domain.tld
autre_user@autredomaine.tld
[...]
La première ligne est UUOC.
La seconde vire tout ce qu'on peut trouver entre "".
La troisième transforme les ',' en retour à la ligne.
La quatrième extrait le contenu entre <>.
La derniere efface les lignes blanches.
Le tout écrit sur la sortie standard les mails de tes amis.
:~$ cat entree | sed 's/"[^"]*"//g' | tr , 'n' | sed 's/^[ t]*<([^>]*)>.*$/1/'
Il manquait le pipe a la fin de cette ligne.
grep -v '^$'
[...]
La première ligne est UUOC. La seconde vire tout ce qu'on peut trouver entre "". La troisième transforme les ',' en retour à la ligne. La quatrième extrait le contenu entre <>. La derniere efface les lignes blanches. Le tout écrit sur la sortie standard les mails de tes amis.
"Rakotomandimby Mihamina" a écrit dans le message de news:4119e8c4$0$22908$
Bonjour, Une amie (très intelligente) m'a envoyé une liste de mail tres desordonnée, pour que j'envoie le mail a chacun de ces adresses ...
Il y en a quelques dizaines. Je peux pas (et j'ai pas envie) de traiter cela manuellement.
la liste est de la forme :
"Nom prenom" , , ...
(J'ignore si il y a des passages a la ligne et si ce sont des passages a la ligne a la Windows o a la UNIX, car on m'a envoyé la liste par mail)
bref ... des fois y a le nom+prenom, des fois y a pas. en tout cas, les adressess mail sont toujours entre "<" et ">" .
ce que je voudrais c'est prendre uniquement les adresses, (entre "<" et ">") dans le but de faire un boucle du genre
OBJ="un sujet" for ADRESSE in `cat adresse_liste.txt`; do cat texte_a_mailer.txt | mail -s $OBJ $ADRESSE done
Donc recuperer une adresse par ligne serai l'ideal.
cat liste.txt | |perl -0nal012e '@a{@F}++; print for sort keys %a' |perl -ne 'print $& . "n" if m{(?>[w.-]+)@w+[.][w.]*}g;'
voila voila, ca marche bien, pas de doublons. la premiere ligne de perl trie tout les mots separé par des espaces la deuxieme n'imprime que ce qui resemble a une adresse email. j'ai fait cela alors que j'avais le meme pb que toi ;-) truc pour comprendre; remplacez "perl" par "perl -MOÞparse" plus d'explication a la demande...
-- dominix
"Rakotomandimby Mihamina" <rktmb.tontolo@wanadoo.fr> a écrit dans le message
de news:4119e8c4$0$22908$636a15ce@news.free.fr...
Bonjour,
Une amie (très intelligente) m'a envoyé une liste de mail tres
desordonnée, pour que j'envoie le mail a chacun de ces adresses ...
Il y en a quelques dizaines. Je peux pas (et j'ai pas envie) de traiter
cela manuellement.
(J'ignore si il y a des passages a la ligne et si ce sont des passages a
la ligne a la Windows o a la UNIX, car on m'a envoyé la liste par mail)
bref ... des fois y a le nom+prenom, des fois y a pas.
en tout cas, les adressess mail sont toujours entre "<" et ">" .
ce que je voudrais c'est prendre uniquement les adresses, (entre "<" et
">") dans le but de faire un boucle du genre
OBJ="un sujet"
for ADRESSE in `cat adresse_liste.txt`; do
cat texte_a_mailer.txt | mail -s $OBJ $ADRESSE
done
Donc recuperer une adresse par ligne serai l'ideal.
cat liste.txt |
|perl -0nal012e '@a{@F}++; print for sort keys %a'
|perl -ne 'print $& . "n" if m{(?>[w.-]+)@w+[.][w.]*}g;'
voila voila, ca marche bien, pas de doublons.
la premiere ligne de perl trie tout les mots separé par des espaces
la deuxieme n'imprime que ce qui resemble a une adresse email.
j'ai fait cela alors que j'avais le meme pb que toi ;-)
truc pour comprendre; remplacez "perl" par "perl -MOÞparse"
plus d'explication a la demande...
"Rakotomandimby Mihamina" a écrit dans le message de news:4119e8c4$0$22908$
Bonjour, Une amie (très intelligente) m'a envoyé une liste de mail tres desordonnée, pour que j'envoie le mail a chacun de ces adresses ...
Il y en a quelques dizaines. Je peux pas (et j'ai pas envie) de traiter cela manuellement.
la liste est de la forme :
"Nom prenom" , , ...
(J'ignore si il y a des passages a la ligne et si ce sont des passages a la ligne a la Windows o a la UNIX, car on m'a envoyé la liste par mail)
bref ... des fois y a le nom+prenom, des fois y a pas. en tout cas, les adressess mail sont toujours entre "<" et ">" .
ce que je voudrais c'est prendre uniquement les adresses, (entre "<" et ">") dans le but de faire un boucle du genre
OBJ="un sujet" for ADRESSE in `cat adresse_liste.txt`; do cat texte_a_mailer.txt | mail -s $OBJ $ADRESSE done
Donc recuperer une adresse par ligne serai l'ideal.
cat liste.txt | |perl -0nal012e '@a{@F}++; print for sort keys %a' |perl -ne 'print $& . "n" if m{(?>[w.-]+)@w+[.][w.]*}g;'
voila voila, ca marche bien, pas de doublons. la premiere ligne de perl trie tout les mots separé par des espaces la deuxieme n'imprime que ce qui resemble a une adresse email. j'ai fait cela alors que j'avais le meme pb que toi ;-) truc pour comprendre; remplacez "perl" par "perl -MOÞparse" plus d'explication a la demande...