Am Samstag, 6. November 2010, 11:32:53 schrieb Gerd Göhler:
Am Freitag, den 05.11.2010, 13:05 +0100 schrieb Bernhard Schiffner:
Am Freitag, 5. November 2010, 10:15:42 schrieb Thomas Köhler:
Hallo,
Hallo,
Bernhard Schiffner wrote:
Ich habe noch einiges probiert, finde aber auch keine Lösung für das "first" Problem bei date. Die relative Verschiebung (2 Wed) scheint auch nicht zu klappen, wenn der Monatserste ein "Wed" ist.
Mir ist jetzt irgendwie nicht so recht klar, ob das eigentliche Problem noch besteht (den 2./4. Mittwoch des Monats auszurechnen).
Glaube ich nicht. Wer die Seite gestaltet, wird's wohl wissen, wie's zu tun ist. Es war wohl eher der Anspruch, es so einfach wie möglich mit Unix-Bordmitteln zu lösen.
Das Ergebnis : date ist (nicht nur IMHO) ein Featuremonster, bekommt es aber trotzdem nicht direkt hin.
ja leider , funktioniert nur über kleinere Umwege.
- hier trotsdem der Einzeiler mit date
gibt jeden 2 und 4 Mittwoch im angegebenen Jahr Y=... aus.
Y=2011; for m in `seq 1 12`; do for t in `seq 1 7`; do if [ `date -d "$Y-$m-$t" +"%u"` = "3" ]; then echo `date -d "$Y-$m-$t 7 day" +"%A %d % B %Y"`; echo `date -d "$Y-$m-$t 21 day" +"%A %d %B %Y"`; fi done done
Gruß Gerd
Mein "Einzeiler" für den laufenden Monat
#!/bin/bash # I=`mktemp --tmpdir="." temp_XXXXXXXX` J=`date +%Y-%m` for K in `seq 1 31` ;do echo -e "$J-$K" >> $I done
date -f $I +%A", "%-d". "%B 2>/dev/null | grep -i "Mittwoch" | sed -n '2p;4p'
rm $I
date -f - würde es wie bei Dir für stdin tun. 2>/dev/null wegen "Übertagen" (31.11. etc)
Bernhard