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

_______________________________________________
Lug-dd maillist  -  [email protected]
https://ssl.schlittermann.de/mailman/listinfo/lug-dd

Antwort per Email an