이것이 출력입니다 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'