rastgele veriler için tarih aralığını nasıl oluşturulurBir yıldır tüm günleri dizelerle üretmek için gereken bash
örn:
MIN_DATE=01.01.2012
MAX_DATE=31.12.2012
for date in {1...366..1}
do
echo ...
done
rastgele veriler için tarih aralığını nasıl oluşturulurBir yıldır tüm günleri dizelerle üretmek için gereken bash
örn:
MIN_DATE=01.01.2012
MAX_DATE=31.12.2012
for date in {1...366..1}
do
echo ...
done
for d in {0..365}; do date -d "2012-01-01 + $d days" +'%d.%m.%Y'; done
Değil saf bash çözüm, ama benim dateutils can yardım:
dseq 01.01.2012 31.12.2012 -f %d.%m.%Y -i %d.%m.%Y
=>
01.01.2012
02.01.2012
...
31.12.2012
Çıktı biçimi -f
ve giriş formatı zekâ ile yapılandırılabilir h -i
.
ISO 8601 tarih formatını (yıl-ay-gün) kullanarak, sözcükleri sözlüksel olarak karşılaştırabilirsiniz. bash
, "< =" dizesi için bir işleve sahip olmadığı için, istediğimden biraz daha karışıktır.
year=2011
d="$year-01-01"
last="$(($year+1))-01-01"
while [[ $d < $last ]]; do
echo $d
d=$(date +%F --date "$d + 1 day")
done
bu, otomatik olarak sızıntısı nasıl yapılır? –
@DmitryDubovitsky Ne demek istiyorsun? '29.02.2012' çıktıda mevcut. –
son rekor 2012-01-01 şey olurdu 2011 yılı için çıkışa otomatik, örneğin ister: 'days_in_year = tarih "2012/12/31" + "% j"; D içinde d ... –