Cal 공백 구분 기호 없음

Cal 공백 구분 기호 없음

저는 OpenBSD 사용자이고 제가 가르치는 모든 강좌에 대한 TeX 강좌 달력을 자동으로 생성하는 awk 스크립트를 작성하고 있습니다. 시스템에서 실제 달력을 얻으려면 Unix cal 명령을 사용합니다. 문제는 cal 명령의 출력이 공백을 구분 기호로 사용한다는 것입니다. 이로 인해 nawk 스크립트를 적용할 때 모든 종류의 문제가 발생합니다. cal에 대한 소스 코드를 살펴본 결과, 소스 코드를 크래킹하는 것만으로도 cal 명령에서 공백이 아닌 구분 기호를 사용하게 되는 것 같습니다. 달력을 이렇게 보이게 만드는 가장 쉬운 방법은 무엇입니까?

        June 2012
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

당신은 그것을 사용할 수 있습니다 sed.

$ cal|sed -e '1n;s/\(..\)\(.\)/\1,\2/g'
      May 2012      
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, 31

1n첫 번째 줄을 인쇄하고 다음 줄로 이동합니다. 그런 다음 교체는 3x3 문자를 인쇄한 다음 처음 2개, ,세 번째 문자를 인쇄합니다.

관련 정보