如何打印 2015 年 3 月和 4 月的日历并并排显示日历条目?使用UNIX

如何打印 2015 年 3 月和 4 月的日历并并排显示日历条目?使用UNIX

如何打印 2015 年 3 月和 4 月的日历并并排显示日历条目?在UNIX中

答案1

这个命令:

paste <(cal 3 2015 | awk '{printf "%-20s\n",$0}') <(cal 4 2015)

将创建此输出:

     March 2015              April 2015
Su Mo Tu We Th Fr Sa    Su Mo Tu We Th Fr Sa
 1  2  3  4  5  6  7              1  2  3  4
 8  9 10 11 12 13 14     5  6  7  8  9 10 11
15 16 17 18 19 20 21    12 13 14 15 16 17 18
22 23 24 25 26 27 28    19 20 21 22 23 24 25
29 30 31                26 27 28 29 30

注意: awk 子命令用于正确填充左侧命令的最后一行。

编辑:利用cal功能(选项-3)并且需要更少流程的更紧凑的变体可能是:

cal -3 3 2015 | awk '{print substr($0,23)}'

答案2

如果您的cal支持-A参数很容易显示更多月份 - 您可以显示当前和未来的一个月是这样的:

cal -A1

这样,您还可以使用选项指定显示当前月份和年份以外的内容-m,例如2015年3月这将是:

cal -A1 -m3 2015

如果你不能使用,-A你可以将两个输出与pr

pr -t -m <(cal <your_params>) <(cal <your_params>)

或与paste

paste <(cal <your_params>) <(cal <your_params>)

答案3

cal -3| awk '{print substr($0,23)}'

相关内容