새소식

반응형
개발기록/Linux

[Bash Shell] 일자 혹은 시간 자릿수 표현할 때

  • -
반응형

안녕하세요 성장형 개발자입니다.

이유

업무를 하다보면 종종 쉘로 재처리를 하는 경우가 있었습니다.

데이터가 많다보면 파티션 별로 수행해야해서 자릿수를 맞춰야할 때가 있습니다.

예를 들면 1시 데이터는 hh=1 이 아닌 hh=01 형식으로 들어가있습니다.

잊을만하면 찾게되어 이렇게 글로 남겨봅니다.

명령어

명령어는 seq 명령어입니다.

리눅스 manual 를 통해 사용 방법에 대해서 알 수 있습니다.

man seq

NAME
       seq - print a sequence of numbers
SYNOPSIS
       seq [OPTION]... LAST
       seq [OPTION]... FIRST LAST
       seq [OPTION]... FIRST INCREMENT LAST
DESCRIPTION
       Print numbers from FIRST to LAST, in steps of INCREMENT.
       Mandatory arguments to long options are mandatory for short options too.

       -f, --format=FORMAT
              use printf style floating-point FORMAT
       -s, --separator=STRING
              use STRING to separate numbers (default: \n)
       -w, --equal-width
              equalize width by padding with leading zeroes

		--help display this help and exit

       --version
              output version information and exit

이번은 옵션 중 -f 옵션을 사용할 것입니다.

// 일자 포맷팅
seq -f %02g 01 1 28
seq -f %02g 01 1 30
seq -f %02g 01 1 31

// 시간 포맷팅
seq -f %02g 00 1 23

위와 같이 사용하면 원하는 자릿수에 맞춰서 사용 가능합니다.

for dt in $(seq -f %02g 01 1 30)
do
done

for hh in $(seq -f %02g 00 1 23)
do
done

대략적으로 위와 같이 사용할 수 있다는 문법을 보여드렸습니다.

막힘없는 코딩이 되시길 바랍니다

반응형

'개발기록 > Linux' 카테고리의 다른 글

리눅스 유용한 명령어 정리  (0) 2023.10.16
Linux 자주 사용하는 명령어 알아보기  (0) 2023.07.24
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.