如何打印 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)}'