function c() { return CYAN substr($0, index($0, ">") + 1) OFF " " RED "/" OFF } BEGIN { GREEN = "\033[1;32m"; RED = "\033[1;31m"; WHITE = "\033[1;97m"; CYAN = "\033[1;36m"; FAINT = "\033[2m"; OFF = "\033[m"; } /^[0-7] 00:00 -- 00:00/ { dayline = dayline " " c(); next } /^[0-7] 00:00 -- / { dayline = dayline " <-|" $4 " " c(); next } /^[0-7] [0-9]{2}:[0-9]{2} -- 00:00/ { dayline = dayline " " $2 "|-> " c(); next } /^[0-7] [0-9]{2}:[0-9]{2} -- [0-9]{2}:[0-9]{2}/ { dayline = dayline " " $2 " - " $4 " " c(); next } /^[0-7]$/ && dayline { print dayline " ;" startofweek " +" $0 " days"; } /^[0-7]$/ { cmd = "date -d '" startofweek " +" $0 " days' +\"%a %e %b %Y\""; cmd | getline dayline; close(cmd); dayline = GREEN dayline ": " OFF }