PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Shellscript zum Versenden von E-Mails



e271
28-01-2012, 09:45
Hi,

ich hänge gerade an folgendem Problem:

In einem Verzeichnis befinden sich Dateien der Form:

Datei1-XYZ-001.pdf
Datei2-XYZ-002.pdf
Datei3-AB-003.pdf
Datei4-AB-004.pdf
Datei5-SQR-005.pdf
Datei6-SQR-006.pdf
...
Ich möchte jetzt mit einem Shellskript die Dateien mittels mutt an bestimmte E-Mailadressen der Form XYZ@domain.tld senden. XYZ entpricht dabei den 2 bzw 3 Buchstaben im Dateinamen.

Wie ich jede Datei einzeln versende, ist mir klar. Ich möchte aber alle Dateien mit derselben Abkürzung im Dateinamen in einer E-Mail an die entsprechende Adresse schicken.

Der Befehl dazu wäre z.B.:

mutt -s "Listen" `for file in {hierhin kommt das Kriterium zur Dateiauswahl für die Buchstabenfolge xxx}; do echo -n "-a ${file} "; done` xxx@domain.tld < msg.txt

Mein Problem ist jetzt, dass ich eine Schleife brauche, die alle Kürzel zurückgibt, aber eben nur einmal.

Über eine Idee freue ich mich.

cu
e271

torafox
23-02-2012, 07:12
Hallo e271,
ist es das, was du suchst:


for file in *
do
IFS='-'
set $file
mailprefix=$2
echo "mutt -s Listen -a $file $mailprefix@domain.tld <msg.txt
done


Wenn du das echo vor mutt wegläßt, wird der mutt-Befehl sofort ausgeführt.

Gruß
Torafox