%3F.png)
これは の出力です。各セルに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'