Bearbeiten von „UUGRN Stammtisch.sh“
Aus UUGRN
Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.
Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und speichere dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.
Aktuelle Version | Dein Text | ||
Zeile 1: | Zeile 1: | ||
− | Dieses Script ermittelt die [[UUGRN:Stammtisch|Stammtischtermine]] und | + | Dieses Script ermittelt durch Ausnutzen von Seiteneffekten die [[UUGRN:Stammtisch|Stammtischtermine]] in Mannheim und Heidelberg und gibt passenden SQL-Code für die Kalender-Tabelle aus. |
− | == | + | == Funktionsweise == |
− | + | Mittels [[gdate|GNU date]] wird für alle in Frage kommenden Tage der Wochentag ''%u'' ausgegeben, dieser wird von folgenden [[sed]]-Ausdruck mit 3 für Mittwoch = Heidelberg und 4 für Donnerstag = Mannheim umgewandelt. Durch die ''for D''-Schleife werden nur die in Frage kommenden Tage durchlaufen, daher kann es keine ''false positives'' geben. | |
− | |||
− | + | Die abschließende ''while''-Schleife übernimmt die Ausgabe von ''sed'' und erzeugt das passende, hier ''unix epoch''-Zeitformat und die restlichen Felder. | |
− | |||
− | for | + | == Script == |
− | gdate "+%u | + | 1 #! /bin/sh |
− | done | + | 2 # |
− | + | 3 # Berechnet die UUGRN-Stammtische und erzeugt das SQL für die Datenbank | |
− | + | 4 # | |
− | 01| | + | 5 # Jeden 2. Donnerstag im Monat um 19 Uhr in Mannheim (ORT=5) |
− | + | 6 # Jeden 4. Mittwoch im Monat um 20 Uhr in Heidelberg (ORT=6) | |
− | + | 7 # | |
− | + | 8 # Das Scriptgeht von der Annahme aus, dass der 2. Donnerstag im Monat immer zwischen dem 8. und 14. liegen muss | |
− | + | 9 # und dass der 4. Mittwoch im Monat immer zwischen 22. und 28. liegt. | |
− | + | 10 # Die Schleifen als auch der egrep | sed Ausdruck gehen direkt darauf ein. | |
− | + | 11 # | |
− | + | 12 # | |
− | + | 13 # Raphael.Becker <rabe@uugrn.org> | |
− | + | 14 | |
− | + | 15 JAHR=2007 | |
− | + | 16 | |
− | + | 17 for M in 01 02 03 04 05 06 07 08 09 10 11 12; do | |
− | + | 18 for D in 08 09 10 11 12 13 14 22 23 24 25 26 27 28 ; do | |
− | + | 19 gdate "+%u %d %Y-%m-%d" --date "$JAHR-$M-$D" | |
− | + | 20 done | |
− | + | 21 done | | |
− | + | 22 egrep "^(4 [01]|3 2)" | | |
− | + | 23 sed -e 's,^3 [0-9]* ,20:00:00|6|"kleiner" Stammtisch|,; | |
− | + | 24 s,^4 [0-9]* ,19:00:00|5|Stammtisch|,;' | | |
− | + | 25 while IFS='|' read ZEIT ORT BEZ DATUM junk; do | |
− | + | 26 echo "insert into KALENDER set ID=0, DATUM=$(gdate +%s --date "$DATUM $ZEIT"), ORT_ID=$ORT, TEXT='$BEZ';" | |
− | done | + | 27 done |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | == Ausgabe für 2007 == | ||
+ | $ '''bin/uugrn_stammtischkalender.sh''' | ||
+ | insert into KALENDER set ID=0, DATUM=1168538400, ORT_ID=5, TEXT='Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1169665200, ORT_ID=6, TEXT='"kleiner" Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1170957600, ORT_ID=5, TEXT='Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1172689200, ORT_ID=6, TEXT='"kleiner" Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1173376800, ORT_ID=5, TEXT='Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1175104800, ORT_ID=6, TEXT='"kleiner" Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1176397200, ORT_ID=5, TEXT='Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1177524000, ORT_ID=6, TEXT='"kleiner" Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1178816400, ORT_ID=5, TEXT='Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1179943200, ORT_ID=6, TEXT='"kleiner" Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1181840400, ORT_ID=5, TEXT='Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1182967200, ORT_ID=6, TEXT='"kleiner" Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1184259600, ORT_ID=5, TEXT='Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1185386400, ORT_ID=6, TEXT='"kleiner" Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1186678800, ORT_ID=5, TEXT='Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1187805600, ORT_ID=6, TEXT='"kleiner" Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1189702800, ORT_ID=5, TEXT='Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1190829600, ORT_ID=6, TEXT='"kleiner" Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1192122000, ORT_ID=5, TEXT='Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1193248800, ORT_ID=6, TEXT='"kleiner" Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1194544800, ORT_ID=5, TEXT='Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1196276400, ORT_ID=6, TEXT='"kleiner" Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1197568800, ORT_ID=5, TEXT='Stammtisch'; | ||
+ | insert into KALENDER set ID=0, DATUM=1198695600, ORT_ID=6, TEXT='"kleiner" Stammtisch'; | ||
[[Kategorie:Script]] | [[Kategorie:Script]] | ||
− | [[Kategorie: | + | [[Kategorie:Verein]] |