unix 下的 cal 没有办法具体计算 哪天是星期几,写了个 awk 计算:
echo "20110703" | awk '{ i=0; cald[0] = 0;
mon = substr( $1, 5,2 )
year = substr( $1, 1,4 )
d = substr( $1, 7 )
print $1
while("cal"" "mon" "year | getline)
{
i++;
if( i>2 )
{
for( j =1; j <= NF; j++ )
{
if( i == 3 )
week = ( 7 - NF + j -1)
else
week = j == 1? 7: j-1
cald[$j>=10?$j:"0"$j] = week
}
}
}
print cald[d]
}'