On Mit, 16 Apr 2003 at 17:53 (+0200), Thomas Michalka wrote:
Andreas Feile wrote: [Dateien versenden]
liefert nicht das nötige Ergebnis, weil dann alles in einer einzigen Mail ankommt. Ich möchte aber, daß ich pro Datei eine Mail kriege. Wie kann ich das erreichen?
for file in `ls /pfad/*`; do cat $file | mail mail@irgendwo.tld done
*Useless use of ls award* ;-) for file in /pfad/*; do cat $file | mail mail@irgendwo.tld done MAn beachte auch hier wieder das Dilemma, wenn Dateien z. B. Leerzeichen beinhalten.
Eventuell kann es etwas anders sein, wenn Du nicht jede Datei in diesem Verzeichnis versenden willst. Dann müßtest Du Dir eine Dateiliste on the fly bauen, z.B. mit find:
find /pfad -type f -name
\ -exec mail mail@irgendwo.tld "{}" ";" Vielleicht muß man zwischen - exec und mail noch ein xargs einbauen, das weiß ich jetzt nicht so genau.
Ein exec ist Bestandteil des find, da kommt kein xargs dazwischen. man find man xargs Außerdem wird das wohl schiefgehen, weil Du im Gegensatz zum obigen Beispiel den Dateinamen als Argument an mail übergibst, nicht den Inhalt per Pipe an mail schickst. Quick & Dirty; find /pfad -type f -name suchmuster -print | while read f; do cat "$f" | mail mail@adresse.tld done Jan