如何在 UNIX 中以相反的顺序打印日历?

如何在 UNIX 中以相反的顺序打印日历?

我想使用cal -y命令在终端中打印日历,但顺序相反。我应该添加什么才能打印从 12 月到 1 月的日历?

答案1

当您对第一列的输出满意时:

for m in {12..1}; do cal $m 2016; done

确实逆转了,但可能不是你想要的:

cal -y | tac

按 3 个月为一行,反转 3 列:

cal -y | perl -0777 -ne 's/\s*$//;@r=split /(\n(?=  +[A-Z]))/; print reverse @r';

今年仍位居榜首:

cal -y | perl -n0777e '
    s/\s*$//; @r=split /(\n(?= +[A-Z]))/; $y=shift @r;
    print $y,"\n",reverse @r;'

相关内容