우분투에서 단일 명령으로 폴더 00-99를 만드는 방법은 무엇입니까?


17

00부터 99까지 (00, 01, 02, 03 등 ...) 수백 곳의 폴더를 만들어야 합니다. 내가 할 수있는 단일 명령이 있습니까?

답변:


46

mulaz의 대답은 정확하지만 많은 사람들은 seq대부분의 껍질이 다음을 수행 할 수 있기 때문에 악 하다고 말합니다.

mkdir {00..99}

그러나 일부 이전 버전의 bash에서는 0-9패딩이 없으므로 수행해야합니다.

mkdir 0{0..9} {10..99}

9
+1 허용되는 답변이어야합니다 IMHO. 이 관용적 배쉬 일뿐 만 아니라 외부 프로그램 (seq 인)을 사용할 필요가 없습니다.
트롤 혼

1
이것이 어떻게 이루어져야 하는가입니다.
phoxis 2016 년

7
다음도 작동합니다.> mkdir {0..9} {0..9}
Orieg

17

이럴까요?

for i in `seq -w 0 99`; do mkdir $i; done

숫자 0-99에 대해 루프를 수행하고 "-w"는 동일한 너비를 설정합니다 (0-9에 0 패딩)


7
seq -w 0 99 | xargs mkdir또한 일을 할 것입니다.
Jay

11
루프를 버리고 할 수 있습니다 mkdir $(seq -w 0 99). 또는 대신 백틱을 사용 $()하지만 serverfault 구문으로 인해 백틱을 넣을 수 없습니다.
Patrick

@ 패트릭 : 예, 당신은 할 수 있습니다 : mkdir `seq -w 0 99` (나는 여분의 공간을 피할 수 없었습니다). here 참조 하지만 구분 기호에 공백을 포함시키는 트릭은 여기에서 작동하지 않습니다.
Keith Thompson

2
@ 패트릭의 배경은 나쁘다 : mywiki.wooledge.org/BashFAQ/082
Andrew

@Andrew 네, 알고 있습니다 만, 내가 응답하는 모든 코딩 스타일을 유지하는 것을 선호합니다.
Patrick

2

나는 이것이 오래된 것을 알고 있지만 내 권장 사항은 다음과 같습니다.

i의 경우 seq -f %02g 0 99; mkdir $ i를하십시오; 끝난

-f % 02g는 00 또는 99와 같은 두 문자 이상을 유지하고 99를 초과하는 3 개의 문자 숫자를 계속 허용하므로 100이 있으면 001이되지 않습니다. 001- 대신 100-99 100이됩니다. -w와 같은 100

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