36 lines
1.1 KiB
Awk
36 lines
1.1 KiB
Awk
# 11:00|13:00|1748422800|1748430000|fpath|desc...
|
|
# 00:00|00:00|1748296800|1748383200|fpath|desc...
|
|
function allday() {
|
|
return ITALIC FAINT " (allday) " OFF $6
|
|
}
|
|
function endstoday() {
|
|
return CYAN " -- " $2 OFF ": " $6
|
|
}
|
|
function slice() {
|
|
if ($2 == "00:00")
|
|
return CYAN $1 " -- " OFF ": " $6
|
|
else
|
|
return CYAN $1 OFF " -- " CYAN $2 OFF ": " $6
|
|
}
|
|
function hrline(hour) {
|
|
print hour, "", "", "", FAINT hour ":00 ----------------------" OFF
|
|
}
|
|
BEGIN {
|
|
FS = "|";
|
|
GREEN = "\033[1;32m";
|
|
RED = "\033[1;31m";
|
|
WHITE = "\033[1;97m";
|
|
CYAN = "\033[1;36m";
|
|
ITALIC = "\033[3m";
|
|
FAINT = "\033[2m";
|
|
OFF = "\033[m";
|
|
OFS = "|"
|
|
}
|
|
/^[0-9]+$/ && hour { hrline(hour) }
|
|
/^[0-9]+$/ { hour = $1 < 10 ? "0"$1 : $1; next }
|
|
$1 == hour":00" { print $1, $3, $4, $5, slice(); unset hour; next }
|
|
$1 == "00:00" && $2 == "00:00" { print $1, $3, $4, $5, allday(); next }
|
|
$1 == "00:00" { print $1, $3, $4, $5, endstoday();next }
|
|
hour { hrline(hour); print $1, $3, $4, $5, slice(); unset hour; next }
|
|
{ print $1, $3, $4, $5, slice(); unset hour; next }
|