これが出力ですcal
。各セルに追加を追加する最も簡単な方法は何ですか<SPACE>
?
June 2021
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
予想される結果:
June 2021
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
答え1
これはおそらくあなたが望むものです:
$ cal | awk 'NR>1{gsub(/.../,"& ")}1'
June 2021
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
各行の末尾にある「セル」にスペースを追加せず、月と年の行の「セル」の後にスペースを追加しません。
答え2
使用awk
:
$ cal | awk '{ gsub(/[^ ] | /, "& ") }1'
または以下を使用してくださいsed
。
$ cal | sed -E 's/[^ ] | /& /g'
June 2021
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
答え3
GNU awk
cal | cat | gawk -v FIELDWIDTHS="3 3 3 3 3 3 2" 'NR > 1 {$1 = $1} 1'