web-dev-qa-db-fra.com

commande mutt avec plusieurs pièces jointes dans un seul mail unix

Mon exigence est de joindre tous les fichiers .csv dans un dossier et de les envoyer dans un seul courrier.

Voici ce qui a essayé,

mutt -s "subject" -a *.csv -- [email protected] < subject.txt

La commande ci-dessus ne fonctionne pas (elle ne reconnaît pas plusieurs fichiers) et génère l'erreur

Error sending message, child exited 67 (User unknown.).
Could not send the message.

Ensuite, j'ai essayé d'utiliser plusieurs -a option comme suit,

mutt -s "subject" -a aaa.csv -a bbb.csv -- [email protected] < subject.txt

Cela fonctionne comme prévu. Mais ce n'est pas possible pour 100 fichiers par exemple. Je devrais pouvoir l'utiliser avec un masque de fichier (comme * .csv pour prendre tous les fichiers csv). Existe-t-il un moyen que nous pouvons utiliser comme * .csv en commande unique?

Merci

20
Mari

Mutt ne prend pas en charge une telle syntaxe, mais cela ne signifie pas que c'est impossible. Il vous suffit de construire la commande mutt.

mutt -s "subject" $( printf -- '-a %q ' *.csv ) ...

La commande dans $( ... ) produit quelque chose comme ceci:

-a aaa.csv -a bbb.csv -a ...
25
user80168

Je reçois une barre oblique inverse (\)

Daily_Batch_Status{20131003}.PDF
Daily_System_Monitoring{20131003}.PDF

printf -- '-a %q ' *.PDF
-a Daily_Batch_Status \ {20131003 \ }.PDF -a Daily_System_Monitoring \ {20131003 \ }.PDF
0
Learner