- Linux (Ubuntu 8.10). , Solaris, , , _, %, 0. 1 01 (01st doesn 't 1-).
( , , ) DaySuffix, . func , , , . 11, 12 13 - !
#!/bin/sh
DaySuffix() {
if [ "x`date +%-d | cut -c2`x" = "xx" ]
then
DayNum=`date +%-d`
else
DayNum=`date +%-d | cut -c2`
fi
CheckSpecialCase=`date +%-d`
case $DayNum in
0 )
echo "th" ;;
1 )
if [ "$CheckSpecialCase" = "11" ]
then
echo "th"
else
echo "st"
fi ;;
2 )
if [ "$CheckSpecialCase" = "12" ]
then
echo "th"
else
echo "nd"
fi ;;
3 )
if [ "$CheckSpecialCase" = "13" ]
then
echo "th"
else
echo "rd"
fi ;;
[4-9] )
echo "th" ;;
* )
return 1 ;;
esac
}
date "+%A %-d`DaySuffix` %B %Y"