dtstart="$values[DTSTART]" [ -z "$dtstart" ] && dtstart=$(date +%Y%m%dT%H%M%S) echo "$dtstart" |case "$dtstart" in *Z) sed -rn 's:^([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2})([0-9]{2})([0-9]{2})Z$:\1-\2-\3 \4\:\5\:\6 UTC:p' ;; TZID*) sed -rn 's:^TZID=(.+)\:([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2})([0-9]{2})([0-9]{2})$:TZ="\1" \2-\3-\4 \5\:\6\:\7:p' ;; *) sed -rn 's:^([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2})([0-9]{2})([0-9]{2})$:\1-\2-\3 \4\:\5\:\6:p' ;; esac |read dts_date dts_year=$(date -d "$dts_date" +%Y) dts_month=$(date -d "$dts_date" +%m) dts_dom=$(date -d "$dts_date" +%d) dts_dow=$(date -d "$dts_date" +%u) dts_weekday=$(date -d "$dts_date" +%A) dts_hour=$(date -d "$dts_date" +%H) dts_min=$(date -d "$dts_date" +%M) dts_sec=$(date -d "$dts_date" +%S) rrule="$values[RRULE]" rr_int="$(echo $rrule |sed -rn 's:^.*INTERVAL=([0-9]+)(;.*)?$:\1:p')" rr_count="$(echo $rrule |sed -rn 's:^.*COUNT=([0-9]+)(;.*)?$:\1:p')" rr_freq="$(echo $rrule |sed -rn 's:^.*FREQ=(YEARLY|MONTHLY|WEEKLY|DAILY)(;.*)?$:\1:p')" rr_uyear="$(echo $rrule |sed -rn 's:^.*UNTIL=([0-9]{4})([0-9]{2})([0-9]{2})T[0-9]{6}Z(;.*)?$:\1:p')" rr_umonth="$(echo $rrule |sed -rn 's:^.*UNTIL=([0-9]{4})([0-9]{2})([0-9]{2})T[0-9]{6}Z(;.*)?$:\2:p')" rr_uday="$(echo $rrule |sed -rn 's:^.*UNTIL=([0-9]{4})([0-9]{2})([0-9]{2})T[0-9]{6}Z(;.*)?$:\3:p')" rr_udate="$(echo $rrule |sed -rn 's:^.*UNTIL=([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2})([0-9]{2})([0-9]{2})Z(;.*)?$:\1-\2-\3 \4\:\5\:\6:p')" if [ -n "$rr_count" ]; then rr_limit=COUNT elif [ -n "$rr_uyear" ]; then rr_limit=UNTIL else rr_limit=ETERN fi coursemail="" echo '