유닉스에서 명령을 사용하여 특정 자릿수의 숫자를 어떻게 표현할 수 있습니까?유닉스 : 0으로 채워진 특정 숫자 형식의 숫자 표현
7을 6 자리 숫자로 000007, 17 숫자를 000017이라고 말하십시오.이를 수행 할 수있는 명령이 있는지 알려주십시오. 당신은 BASH를 사용하는 경우
유닉스에서 명령을 사용하여 특정 자릿수의 숫자를 어떻게 표현할 수 있습니까?유닉스 : 0으로 채워진 특정 숫자 형식의 숫자 표현
7을 6 자리 숫자로 000007, 17 숫자를 000017이라고 말하십시오.이를 수행 할 수있는 명령이 있는지 알려주십시오. 당신은 BASH를 사용하는 경우
당신은 제로 패딩 printf
내장을 사용할 수 있습니다 : 다음 awk
를 사용 BASH를 사용하지
printf -v str "%06d\n" 17
echo "$str"
000017
경우 :
printf "%06d\n" 7
000007
printf "%06d\n" 17
000017
변수 사용 형식의 문자열을 저장하려면 :
awk -v n=17 'BEGIN{printf "%06d\n", n}'
000017
awk -v n=7 'BEGIN{printf "%06d\n", n}'
000007
bash
또는 아닙니다,하지만 당신이 OS와 같은 유닉스/유닉스에서 운영되고 있다고 가정하면, printf
은 필수 독립 실행 형 POSIX 유틸리티입니다.
printf "%06d\n" 7
예 저는 Bash를 사용합니다. 작동합니다. 고마워요 :) – Karthik
셸 구문에서 형식 문자열 뒤에 쉼표가 없어야합니다. 'bash'가 사용되지 않아도 'awk'는 필요하지 않습니다. – jlliagre
감사의 말, 쉼표로 복사/붙여 넣기 실수 (수정 됨) – anubhava