27-11-2000, 07:52
Hallo,
ich möchte allen Mitarbeiter aus einer Liste, die am heutigen Tag Geburtstag haben eine Mail schicken. Dafür hole ich mir aus der Liste das Geburtsjahr und die EMailadresse, derjenigen, bei denen das Tagesdatum übereinstimmt und schreibe die Informationen in eine separate Liste.
Für jede Zeile wollte ich dann die Emailaddresse in Vor- und Nachnamen zerlegen und nach der Errechnung des Alters die Email schicken. Das ist soweit auch kein Problem.
Mit dem untenstehenden Script wird immer nur der erste Eintrag genommen und dann abgebrochen.
Meine Idee war, aus der erzeugten Liste jeweils den Positionsparameter 1 und 2 zu verwenden, weil in diesen das Jahr und die Emailaddresse stehen und dann mit "Shift 2" auf die nächsten zu springen. Wenn $1 leer ist soll das Script beendet werden.
cat /root/batches/geburtstag/liste | grep "$tag $monat" | cut -f 3,4 > /root/batches/geburtstag/heuteliste
liste=`less /root/batches/geburtstag/heuteliste`
set $liste
abbruch=$(less /root/batches/geburtstag/heuteliste | cut -f 1)
for i in $abbruch
do
# [ "$1" == "" ] && exit 0
....
shift 2
done
Kann mir jemand helfen oder eine laufende Möglichkeit verraten?
MfG,
Werner
ich möchte allen Mitarbeiter aus einer Liste, die am heutigen Tag Geburtstag haben eine Mail schicken. Dafür hole ich mir aus der Liste das Geburtsjahr und die EMailadresse, derjenigen, bei denen das Tagesdatum übereinstimmt und schreibe die Informationen in eine separate Liste.
Für jede Zeile wollte ich dann die Emailaddresse in Vor- und Nachnamen zerlegen und nach der Errechnung des Alters die Email schicken. Das ist soweit auch kein Problem.
Mit dem untenstehenden Script wird immer nur der erste Eintrag genommen und dann abgebrochen.
Meine Idee war, aus der erzeugten Liste jeweils den Positionsparameter 1 und 2 zu verwenden, weil in diesen das Jahr und die Emailaddresse stehen und dann mit "Shift 2" auf die nächsten zu springen. Wenn $1 leer ist soll das Script beendet werden.
cat /root/batches/geburtstag/liste | grep "$tag $monat" | cut -f 3,4 > /root/batches/geburtstag/heuteliste
liste=`less /root/batches/geburtstag/heuteliste`
set $liste
abbruch=$(less /root/batches/geburtstag/heuteliste | cut -f 1)
for i in $abbruch
do
# [ "$1" == "" ] && exit 0
....
shift 2
done
Kann mir jemand helfen oder eine laufende Möglichkeit verraten?
MfG,
Werner