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]] | + | Dieses Script ermittelt die [[UUGRN:Stammtisch|Stammtischtermine]] in Mannheim gibt passenden SQL-Code für die Kalender-Tabelle aus. |
− | == | + | == Funktionsweise == |
− | + | ; gegeben: | |
− | + | Der Stammtisch findet immer am 2. Mittwoch im Monat um 20 Uhr in der Tomate in Mannheim (ORT_ID=7) statt. | |
+ | ; Bedingungen: | ||
+ | Der 2. Wochentag eines Monats ist immer zwischen dem 8. und dem 14., der Mittwoch ist Wochentag Nummer 3. | ||
− | + | ; Code: | |
− | + | Die beiden for-Schleifen durchlaufen für alle Monate alle Tage von 8 bis 14. Dabei wird für ein gegebenes Jahr ein Datum im ISO-Format erzeugt und an GNU-date übergeben. | |
+ | GNU-date erzeugt das Ausgabeformat | ||
+ | Wochentag|ISO-Datum|UNIX-Timestamp | ||
− | + | Mit grep werden alle Zeilen ausgefischt, die mit 3 beginnen, das ist jeweils der Mittwoch. Alle anderen Zeilen werden verworfen. | |
− | + | Die folgende while-Schleife erzeugt den SQL-Output für die Kalender-Tabelle. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Dabei wird das ISO-Datum hier nicht verwendet, es dient lediglich der Kontrolle. Sollte eine Tabelle gefüllt werden, die statt eines Integer-Wertes (Timestamp) ein echtes Datum erwartet, kann dieses hier verwendet werden. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | === | + | == Bourne-Shell-Code == |
− | ; | + | J=2009 |
− | ; | + | for M in 1 2 3 4 5 6 7 8 9 10 11 12; do |
− | ; | + | for T in 8 9 10 11 12 13 14 ; do |
− | ; | + | gdate "+%w|%Y-%m-%d %H:%M:%S|%s" --date "$J-$M-$T 20:00:00" |
+ | done | ||
+ | done | | ||
+ | grep ^3 | | ||
+ | while IFS='|' read WT DAT TS; do | ||
+ | echo "insert into KALENDER set ID=0, DATUM=$TS, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/';" | ||
+ | done | ||
+ | |||
+ | |||
+ | == Ausgabe für 2009 == | ||
+ | insert into KALENDER set ID=0, DATUM=1231959600, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/'; | ||
+ | insert into KALENDER set ID=0, DATUM=1234378800, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/'; | ||
+ | insert into KALENDER set ID=0, DATUM=1236798000, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/'; | ||
+ | insert into KALENDER set ID=0, DATUM=1239213600, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/'; | ||
+ | insert into KALENDER set ID=0, DATUM=1242237600, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/'; | ||
+ | insert into KALENDER set ID=0, DATUM=1244656800, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/'; | ||
+ | insert into KALENDER set ID=0, DATUM=1247076000, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/'; | ||
+ | insert into KALENDER set ID=0, DATUM=1250100000, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/'; | ||
+ | insert into KALENDER set ID=0, DATUM=1252519200, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/'; | ||
+ | insert into KALENDER set ID=0, DATUM=1255543200, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/'; | ||
+ | insert into KALENDER set ID=0, DATUM=1257966000, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/'; | ||
+ | insert into KALENDER set ID=0, DATUM=1260385200, ORT_ID=7,TEXT='UNIX Stammtisch',EVENT_LINK='http://stammtisch.uugrn.org/'; | ||
[[Kategorie:Script]] | [[Kategorie:Script]] | ||
− | [[Kategorie: | + | [[Kategorie:Verein]] |