01-12-2000, 08:35
Hallo,
in einem Shell-script werte ich das Tagesdatum und Monatsdatum aus um über diese aus einer Liste bestimmte Einträge herauszufiltern:
''''''''''''''''''''Script
#!/bin/ksh
#
# Glueckwuensche zum Geburtstag
#
# exec >./ausgabe.txt 2>&1
# Tagesdatum ermitteln und in $tag eintragen
tag=`date "+%d"`
#tag=11
# Monatsdatum ermitteln und in $monat eintragen
monat=`date "+%m"`
# Jahresdatum ermitteln und in $jahr eintragen
jahr=`date "+%Y"`
# alle aktuellen Geburtskinder in eigene Datei
# speichern
cat /root/batches/geburtstag/liste | grep "$tag $monat" | cut -f 3,4 > /root/batches/geburtstag/heuteliste
liste=`less /root/batches/geburtstag/heuteliste`
[ "$liste" != "" ] && set $liste
# echo $liste
abbruch=$(cat /root/batches/geburtstag/heuteliste | cut -f 1)
'''''''''''''''
in der Datei "liste" befinden sich Einträge wie:
01 12 user1.user1@domaene.de
1 12 user1.user1@domaene.de
bei dem "grep"-Befehl ist ein "tab" zwischen $tag und $monat.
Folgendes passiert: solange die daten größer "10" sind läuft das Script. Aber bei Zahlen kleiner 10, als wie heute am 1.12. bekomme ich nichts heraus. Date liefert alle Angaben 2 stellig an, weshalb ich einen heutigen Eintrag auf "01 12" geändert habe, aber auch dann passiert nichts.
Wenn ich $tag fest auf z.B. 11 stelle läuft mein Script sofort wieder.
Kann mir jemand das erklären?
Danke,
Werner
in einem Shell-script werte ich das Tagesdatum und Monatsdatum aus um über diese aus einer Liste bestimmte Einträge herauszufiltern:
''''''''''''''''''''Script
#!/bin/ksh
#
# Glueckwuensche zum Geburtstag
#
# exec >./ausgabe.txt 2>&1
# Tagesdatum ermitteln und in $tag eintragen
tag=`date "+%d"`
#tag=11
# Monatsdatum ermitteln und in $monat eintragen
monat=`date "+%m"`
# Jahresdatum ermitteln und in $jahr eintragen
jahr=`date "+%Y"`
# alle aktuellen Geburtskinder in eigene Datei
# speichern
cat /root/batches/geburtstag/liste | grep "$tag $monat" | cut -f 3,4 > /root/batches/geburtstag/heuteliste
liste=`less /root/batches/geburtstag/heuteliste`
[ "$liste" != "" ] && set $liste
# echo $liste
abbruch=$(cat /root/batches/geburtstag/heuteliste | cut -f 1)
'''''''''''''''
in der Datei "liste" befinden sich Einträge wie:
01 12 user1.user1@domaene.de
1 12 user1.user1@domaene.de
bei dem "grep"-Befehl ist ein "tab" zwischen $tag und $monat.
Folgendes passiert: solange die daten größer "10" sind läuft das Script. Aber bei Zahlen kleiner 10, als wie heute am 1.12. bekomme ich nichts heraus. Date liefert alle Angaben 2 stellig an, weshalb ich einen heutigen Eintrag auf "01 12" geändert habe, aber auch dann passiert nichts.
Wenn ich $tag fest auf z.B. 11 stelle läuft mein Script sofort wieder.
Kann mir jemand das erklären?
Danke,
Werner