Development/Bash Shell script

[BASH Shell ] 숫자 자릿수 0으로 채우기(00, 01, 02 ....)

louky 2018. 9. 28. 16:50
반응형

[BASH Shell ] 숫자 자릿수 0으로 채우기

(00, 01, 02 ....)

 

 

숫자 앞자리를 0으로 채우고자 할 경우  seq 명령어를 이용하여 쉽게 채울 수 있다. 

 

usage case1. $ seq [option] LAST_NUM

usage case2. $ seq [option] FIRST_NUM LAST_NUM

usage case3. $ seq [option] FIRST_NUM INCREMENT LAST_NUM

 

 

option 

 

 option 

 description

 -f

 포맷방식 , ex) %03g 를 사용하면 000, 001 .....)

 -w

 마지막 숫자 자릿수에 맞게 0을 채움

 -s

 숫자 사이에 특정 구분자/분리기호를 추가 (default: \n, 줄바꿈)

 

 

-f 옵션

"-f" 옵션을 사용하여 특정 자릿수까지 0으로 채울 수 있다. 

 : "%03g"를 하면 세자리수이고, "%02g"하면 두자리수이다. 

 

옵션뒤에 숫자를 하나만 지정할 경우 아래와 같이 해당 숫자까지만 출력한다. 

$ seq -f "%03g" 5
001
002
003
004
005

 

 

옵션뒤에 숫자 두가지(?)를 입력할 경우 하나만 입력한 것과 비슷한 결과를 출력할 수 있지만  시작되는 숫자를 지정할 수 있다. 

 

$ seq -f "%03g" 1 5
001
002
003
004
005

 

 

옵션뒤에 숫자 세가지(?)을 입력하면 순서대로 시작 숫자, 증가 수 , 마지막 숫자이며

1 2 10을 입력하면 1부터 시작하여 2씩 증가되어 출력된다. 

 

$ seq -f "%03g" 1 2 10
001
003
005
007
009

 

 

-w 옵션

"-w"옵션은 "-f" 과 비슷한 출력을 하지만 별도의 포맷이 필요하지 않다.

단, 마지막 숫자의 자릿수에 따라서 0을 채울 수도 없을 수도 있다. 

 

마지막 숫자가 한자리 일 경우 

 

$ seq -w 1 5
1
2
3
4
5

 

마지막 숫자가 두자리인 경우 

 

$ seq -w 1 10
01
02
03
04
05
06
07
08
09
10

 

-s 옵션

"-s"옵션은 사용하지 않을 경우 기본적으로 줄바꿈이 된다.

해당 옵션을 사용할 경우 아래와 같이 구분자 또는 분리 기호처럼 사용할 수 있다. 

 

여기서는 "t"를 구분자/분리기호로 사용했다. 

 

$ seq -s "t"  -w 1 5
1t2t3t4t5

 

 

반응형