변수 0 숫자를 첫 문자로 사용하여 bash 쉘을 수행하는 방법


2

bash 쉘을 0과 함께 increment를위한 첫 번째 문자로 만드는 방법 :

for (( c=1; c<=75; c++ )) ; do echo 0$c ; done ;

나에게 그것을 준다 :

.../...
07
08
09
010
011
.../...

내 문제는 내가 첫 번째 9 자리 2 배 00 얻을 것이다, 그래서이 문제를 문제로 싶습니다 :

.../...
007
008
009
010
011
.../...

답변:


1

동안 아르 카디 우스 드 라브 지크 당신이 원하는대로 출력의 형식을 지정하면 다른 접근법이 있습니다 :

for c in {01..75}; do echo $c; done;   # for two digits
for c in {001..075}; do echo $c; done; # for three digits

여기에는 할당 된 값의 앞에 오는 0이 포함됩니다. c, 출력 할 때 추가하는 것과는 대조적으로, 이것이 더 유용 할 수있는 상황을 상상할 수 있습니다.


2
무슨 뜻이야? or it would if he'd use %02d? OP가 명시 적으로 원했음 001, 002 기타
Arkadiusz Drabczyk

2
@dubis 다음에 {001..075}, 그때는 더 우아합니다. echo 0$c
Marek Rost

1
질문을 다시 읽으십시오. 당신의 대답은 아니 원래의 질문에 답하십시오. 그것은 출력 07, 08 등하지 007, 008 OP가 요청한대로
DavidPostill

1
그 고양이를 두 번 더 피부로 감싸주세요 :) seq -f '%03.0f' 7 11 seq -w 7 11|xargs -I{} echo 0{}
Paulo

1
xargs 필요 없음. seq -w 7 011 seq -w 007 11
Paulo

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.