[완료]c shell 문자열 자리수

ssangcarric의 이미지

안녕하세요

cshell에서 문자열 자리수에 관련되어 질문 드리고자 합니다.
아래는 제가 사용할 cshell 프로그래밍 인데요.
날짜 계산에 관한 내용입니다.

#!/bin/csh

foreach year(1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004)
foreach mon(05 06 07 08 09)

if ($mon == 05 || $mon == 07 || $mon == 08) then
set dd = 32
else
set dd = 31
endif

set day=1

while ( $day < $dd )

--------------> day는 1일~30일(31일)까지 반복되는 것으로 한자리 수가 아닌 두자리수로 표현하고 싶습니다.
--------------> 01, 02, 03 ~ 31 로

echo ${year} $mon ${day}

--------------> 이때 ${day}에 어떤 명령어를 써야 하나요 ??

@ day = $day + 1

end
end
end

qiiiiiiiip의 이미지

bash라면

day2=`printf "%02g" $day`

라고 할텐데요..

이렇게도 할수있겠네요.. csh문법은 몰라서 bash문법으로..

#!/bin/bash -e
for y in `seq 1985 2004`; do
    for m in `seq -f "%02g" 5 9`; do
        fday=1
        lday=`date -d "$m/01/$y +1 month - 1 days" +%d`
        for d in `seq -f "%02g" 1 $lday`; do
            echo $y $m $d
        done
    done
done
ssangcarric의 이미지

감사합니다!