2015년 3월과 4월 달력을 인쇄하고 달력 항목을 나란히 표시하려면 어떻게 해야 합니까? UNIX 사용

2015년 3월과 4월 달력을 인쇄하고 달력 항목을 나란히 표시하려면 어떻게 해야 합니까? UNIX 사용

2015년 3월과 4월 달력을 인쇄하고 달력 항목을 나란히 표시하려면 어떻게 해야 합니까? 유닉스의 경우

답변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)}'

관련 정보