답변:
for
루프를 사용하는 것이 가장 쉽습니다 .
for char in {A..Z}; do
mkdir $char
done
for num in {1..100}; do
mkdir $num
done
그래도 bash 3.0 이상이 필요합니다. 그렇지 않으면 당신은 같은 것을 사용해야합니다seq
{}
구문에 묶여 있지 배쉬 구문 for
구조.
mkdir {A..Z}
그 자체로 충분합니다.
http://www.gnu.org/software/bash/manual/bashref.html#Brace-Expansion
mkdir -p ./logs-{1..5}
당신은 또한 더 복잡한 조합 (이러한 시도 할 수있는 echo
대신 mkdir
이후에는 정리가 없습니다 그래서) :
비교
$ echo pre-{{F..G},{3..4},{m..n}}-post
pre-F-post pre-G-post pre-3-post pre-4-post pre-m-post pre-n-post
에
$ echo pre-{F..G}{3..4}{m..n}-post
pre-F3m-post pre-F3n-post pre-F4m-post pre-F4n-post pre-G3m-post pre-G3n-post
pre-G4m-post pre-G4n-post
배쉬 4가 있다면 시도해보십시오.
$ echo file{0001..10}
file0001 file0002 file0003 file0004 file0005 file0006 file0007 file0008 file0009
file0010
과
$ echo file{0001..10..2}
file0001 file0003 file0005 file0007 file0009
Linux에서는 "seq"명령으로 일련의 숫자를 생성 할 수 있지만 모든 유닉스 시스템에는 존재하지 않습니다. 예를 들어 1에서 100 사이의 디렉토리를 생성하려면 다음을 수행하십시오.
mkdir `seq 1 100`
쉘 유틸리티를 사용하여 A에서 Z까지 디렉토리를 만들 수는 있지만
seq 65 90 \
| while read foo; do printf "%b\n" `printf '\\\\x%x\n' $foo`; done \
| xargs mkdir
아마도 Perl을 사용하는 것이 훨씬 덜 추한 것 같습니다.
perl -e 'foreach (ord "A"..ord "Z") { mkdir chr $_ }'
mkdir direct{1..3}
결과적으로 mkdir direct1 direct2 direct3
등등. 동일{a..z}
mkdir {A..Z} mkdir {0..100} mkdir test_ {A..Z} 등.