안녕하세요 성장형 개발자입니다.
이유
업무를 하다보면 종종 쉘로 재처리를 하는 경우가 있었습니다.
데이터가 많다보면 파티션 별로 수행해야해서 자릿수를 맞춰야할 때가 있습니다.
예를 들면 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
대략적으로 위와 같이 사용할 수 있다는 문법을 보여드렸습니다.
막힘없는 코딩이 되시길 바랍니다