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

この方法でオプションを使用して、現在の月と年以外の項目を表示するように指定することもできます-m2015年3月これは〜になります:

cal -A1 -m3 2015

しかし、これが利用できない場合は、-A2つの出力を次のように組み合わせることができます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)}'

関連情報