Bash: Alle Tage in einem Datumsbereich ausgeben
Nur weil ich es heute in der Arbeit gebraucht habe, aber auf die Schnelle keine brauchbare Lösung gefunden habe: Mit GNUdate funktioniert das Ganze relativ einfach:
DAT_FROM=20060101 # Starting date
DAT_TO=20060228 # End date
DAYS=$((($(date +%s --date $DAT_TO)-$(date +%s --date $DAT_FROM))/86400))
STARTDATE=`date --date="$DAT_FROM" +%Y-%m-%d`
for i in $(seq 0 $DAYS); do
date --date="$STARTDATE + $i days" +%Y%m%d
done
Sonst muss man die Datumskalkulationen selbst durchführen. Hierfür gibt es ein ganz praktisches Script:
http://www.unix.com/showthread.php?s=&postid=16559