freebsd-dev/contrib/groff/mdate.sh
2003-02-14 13:44:04 +00:00

43 lines
945 B
Bash
Executable File

#! /bin/sh
# Print the modification date of $1 `nicely'.
# Don't want foreign dates.
LANGUAGE=
LC_ALL=C; export LC_ALL
(date;
if ls -L /dev/null 1>/dev/null 2>&1; then ls -L -l $1; else ls -l $1; fi
) | awk '
BEGIN {
full["Jan"] = "January"; number["Jan"] = 1;
full["Feb"] = "February"; number["Feb"] = 2;
full["Mar"] = "March"; number["Mar"] = 3;
full["Apr"] = "April"; number["Apr"] = 4;
full["May"] = "May"; number["May"] = 5;
full["Jun"] = "June"; number["Jun"] = 6;
full["Jul"] = "July"; number["Jul"] = 7;
full["Aug"] = "August"; number["Aug"] = 8;
full["Sep"] = "September"; number["Sep"] = 9;
full["Oct"] = "October"; number["Oct"] = 10;
full["Nov"] = "November"; number["Nov"] = 11;
full["Dec"] = "December"; number["Dec"] = 12;
}
NR == 1 {
month = $2;
year = $NF;
}
NR == 2 {
if ($(NF-1) ~ /:/) {
if (number[$(NF-3)] > number[month])
year--;
}
else
year = $(NF-1);
print $(NF-2), full[$(NF-3)], year
}'