Hallo Ralf,
klar kann sed das Datum nicht kennen, jedoch die Bash das aktuelle Datum an eine Variable übergeben...ich kann mich an die Zeilennummer nicht halten, habe aber in der Zeit das ganze zusammengebastelt, für die nachfolgende Welt (ggf. gibt es Menschen die die ganze Wettervorhersage per TTS ausgeben möchten --> melden) ist hier die Auflösung :
Start der Aktion (per SED File)
Code:
mv wetter.csv wetter.bak
sed -f /etc/skripte/tagesumsatz.sed wetter.bak > wetter2.bak
Das SED File (meins arbeitet einige Dateien ab, daher wird nur die vor & letzte Expression wichtig sein :
Code:
s!-! Minus !g
s!%! Prozent !g
s!°C! Grad !g
s!louder!\<prosody volume='loud'\>!g
s!louderstop!\</prosody\>!g
s!kraeftig!!g
s!kraeftigende!!g
s!\[pc_[0-9].gif\]!!g
s![°]!!g
DIe ersten beiden Zeilen löschen, suchen nach EXPRESSION
Code:
cat wetter2.bak | sed '/Münster/d' | sed '/Tagesprognose/d' > wetter.bak
Alles weitere so auflösen das es nicht mehr gesprochene Daten gibt, sondern einen einfacheren Weg (HEUTE, MORGEN..) :
Code:
cat wetter.bak | grep $HEUTE > wetter2.bak
cat wetter.bak | grep $MORGEN >> wetter2.bak
echo Die aktuelle Wettervorhersage lautet wie folgt. > /tmp/wetter.bak
cat wetter2.bak | sed "s!$(date --date='today' +"%A")!!g" | sed "s!$(date --date='today' +"%d.%m.%Y")!Heute werden es !g" | sed "s!$(date --date='tomorrow' +"%A")!!g" | sed "s!$(date --date='tomorrow' +"%d.%m.%Y")!Morgen werden es !g" >> /tmp/wetter.bak
cat wetter.bak | sed -ne "s/[\t| ]*//p" | sed "s!Prozent!Prozentige Regenwahrscheinlichkeit.!g" | sed "s!Grad!Grad.!g"> wetter.csv
echo . Das war die aktuelle Vorhersage für heute und morgen. >> /tmp/wetter.csv
Trotzdem Danke für Deine Antwort.
LG Stefan