UNIX でカレンダーを逆順に印刷するにはどうすればよいでしょうか?

UNIX でカレンダーを逆順に印刷するにはどうすればよいでしょうか?

コマンドを使用してターミナルでカレンダーを印刷したいのですcal -yが、逆の順序で印刷します。12月から1月までのカレンダーを印刷するには何を追加すればよいですか?

答え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;'

関連情報